大家好~我对rails和股票溢出非常陌生,所以请原谅我的初学者lvl问题。(我也不是Jquery/JS/ajax的老手)
我知道“保存可排序列表”的问题是存在的,但它们要么是迎合PHP的,不完整的,要么不适合我的项目提案,我试着到处寻找一个容易理解的例子,到目前为止还没有任何运气。(我使用的是rails 5.0和ruby 2.2)
我的目标是用Jquery_UI为rails项目创建一个可排序的列表,其中用户刷新页面,排序后的内容应该留在上次存储的地方,我知道有很多方法可以做到这一点,理想的方法是通过ajax请求,cookies,post请求也不错。
到目前为止,可排序函数本身很简单,但当我试图保存它们的最后位置时,我发现自己在rails的工作逻辑上苦苦挣扎。
我完成了什么1.确认我的排序列表的Jquery_ui代码有效(没有我坏的Ajax) 2.使用“序列化”并发出一个ajax请求(通过不确定我的代码是否正确)
3.在构建Ajax请求时,我知道需要将rails控制器的方法链接到Ajax URL,以便将数据发送到数据库(或者我应该这样做吗?)但是我看不到的是如何编写这个方法来使我的控制器响应ajax?
或者是我的思维过程不正确?我要感谢每一个能帮助一个愚蠢的菜鸟的人。
我的HTML
<table>
<thead>
<tr>
<th>Name</th>
<th>E-mail</th>
<th>Location</th>
<th>lead</th>
<th>note</th>
</tr>
</thead>
<% @user.each do |user| %>
<tbody>
<tr>
<td><%= user.name %></td>
<td><%= user.email %></td>
<td><%= user.location %></td>
<td><%= user.lead %></td>
<td><%= user.note %></td>
</tr>
<% end %>
</tbody>
我的Jquery代码
$("tbody").sortable(
update: function(event, ui){
axis: 'y',
update: function (event, ui) {
var order = $("tbody").sortable('serialize');
$.ajax({
data: order,
type: 'POST',
url: '/projects/save_position',
success: function() {
console.log("does it work?")
}
})
}
});
rails控制器中指向Jquery ajax ->项目的路径
定义save_sortable
order =param:正文#?我不知道如何编写此方法
结束
发布于 2017-03-14 04:47:49
Rails5现在要求每个https://hashrocket.com/blog/posts/how-to-upgrade-to-rails-5的Ruby2.2.2或更高版本,这是一个一年前的帖子。Ruby 2.3.1似乎是在Rails5中使用的最低版本
https://stackoverflow.com/questions/41712593
复制相似问题