我为笔记列表实现了jQuery的draggable/droppable,以便对它们进行分层排序,目前它工作得很好,但我觉得我做得太多了。
整个csrf部分是随请求一起手动发送的,我也在手动评估响应,这是ujs提供的功能。有没有一种方法可以无缝地集成它,这样我就可以使用ujs库的优点了?
我想到的一种可能的解决方案是将整个可拖动组件包装到一个<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')
}
}
});
}
});
});发布于 2012-10-03 15:45:51
解决方法是将我需要的整个表单添加到元素中,然后让draggable/droppable回调填充表单所需的值,并触发.submit(),然后由jquery-rails处理。
https://stackoverflow.com/questions/12659189
复制相似问题