1

我为笔记列表实现了 jQuery 的可拖放/可拖放功能,以对它们进行分层排序,目前效果很好,但我觉得我做的太多了。

整个csrf部分是随请求手动发送的,我也在手动评估响应,这是 ujs 提供的功能。有没有办法无缝集成,以便我可以利用 ujs lib 的优势?

我想到的一个可能的解决方案是将整个可拖动对象包装成 a <form data-remote="true">,但这感觉有点骇人听闻。

$(function()
{   
    $('#notes-container .note').draggable();

    $('#notes-container .note').droppable({
        drop: function(event, ui)
        {
            $.ajax({
                type: 'PUT',
                url: ui.draggable.find('form').attr('action'),
                data: { 
                    authenticity_token: $('meta[name="csrf-token"]').attr('content'),

                    task: { 
                        parent_id: $(this).data('id') 
                    } 
                }
            });
        }
    });

});
4

1 回答 1

0

通过将我需要的整个表单添加到元素中来解决,然后让draggable/droppable回调填充表单需要的值并触发.submit()然后由jquery-rails.

于 2012-10-03T07:45:50.523 回答