Ruby on Rails + Jquery:从可拖动列表中保存数据

sjs*_*jsc 2 ruby jquery jquery-ui ruby-on-rails

当用户从不同列表中拖动项目时,我正在尝试将数据保存到Rails中的MySQL数据库.我正在使用下面的Jquery脚本和HTML:

<script>
 $(document).ready(function() {
 $("#draggable").draggable( { connectToSortable: 'ul#myList', helper:'clone' } );
 $("#myList").sortable();

});
</script>
Run Code Online (Sandbox Code Playgroud)

HTML:

<ul>
  <li id="draggable">Drag me to myList</li>
</ul>

<ul id="myList">
 <li id="item-1">item 1</li>
 <li id="item-2">item 2</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我一直在谷歌搜索过去几个小时,但似乎无法找到如何使用Rails在多个列表之间保存数据.任何的想法?

Mik*_*cic 5

您需要让服务器端代码了解更改.您可以使用stop事件sortable来执行ajax调用,如下所示:

<script>
    $(document).ready(function() {
        $("#draggable").draggable({
            connectToSortable: 'ul#myList',
            helper:'clone'
        });

        $("#myList").sortable({
            stop: function(event, ui){
                //put your AJAX call here
            }
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

然后,您必须设置适当的服务器端操作以响应该AJAX响应并更新数据库中的相应数据.就你所展示的代码而言,它只是在浏览器中修改DOM结构,而不是在服务器端做任何事情,这是数据存在的地方.