Ruby on rails Rails中的jQuery ajax调用?
我想做一件简单的事情。当用户单击链接时,jQuery需要生成一个Ajax请求,该请求将链接项的id发送到控制器中的一个方法。基本上,当用户单击删除链接时,我想要一个漂亮的模态对话框窗口。该窗口需要包含有关已删除项目的各种信息。 例如。Ruby on rails Rails中的jQuery ajax调用?,ruby-on-rails,jquery-ui,jquery,Ruby On Rails,Jquery Ui,Jquery,我想做一件简单的事情。当用户单击链接时,jQuery需要生成一个Ajax请求,该请求将链接项的id发送到控制器中的一个方法。基本上,当用户单击删除链接时,我想要一个漂亮的模态对话框窗口。该窗口需要包含有关已删除项目的各种信息。 例如。 “删除”%> 我可以用jquery选择这个链接,甚至在用户单击它时打开一个弹出对话框。通过application.js,但我真正需要的是jQuery在单击链接时调用我的方法,在我的方法中,我将通过format.js进行回答。在js文件中,我放置了代码来显示带有所需
“删除”%>
我可以用jquery选择这个链接,甚至在用户单击它时打开一个弹出对话框。通过application.js,但我真正需要的是jQuery在单击链接时调用我的方法,在我的方法中,我将通过format.js进行回答。在js文件中,我放置了代码来显示带有所需参数的模态对话框。当然,所有这些操作都是通过ajax异步进行的。
我无法生成对控制器中方法的ajax请求。我还不知道如何处理jQuery.ajax方法,尤其是如何强制jQuery将url参数传递给rails方法。我观看了railscast并使用.post研究了示例,但我不需要提交任何表单。
任何建议都将不胜感激。
谢谢Rails需要一个带有隐藏参数的帖子
$('#delete').click(function(e){
e.preventDefault();
$.post($(this).attr('href'), { _method: 'delete' });
});
Rails 3使用jQuery插件以一种不引人注目的方式实现了这一点:
http://github.com/rails/jquery-ujs
一旦将其加载到布局中(使用jQuery1.4.1或更新版本),就可以非常轻松地进行这样的交互
<%= link_to 'delete', item, :remote => true, :method => :delete,
:confirm => 'Are you sure?' %>
true,:method=>:delete,
:confirm=>'你确定吗?'>
在Rails3中,所有这些都是向链接添加一些HTML属性。这些被jQuery插件中的实时处理程序捕获。在Rails 2应用程序中使用此行为很容易,不过:
<%= link_to 'delete', item, :'data-remote' => true, :'data-method' => :delete,
:'data-confirm' => 'Are you sure?' %>
true,:'data-method'=>:删除,
:'data-confirm'=>'您确定吗?'%>
注意,您需要在视图中加载jQuery插件
如果需要初始响应为模态而不是警报,则可以简化第一个链接:
<%= link_to 'delete', modal_confirm_item_url(item), :'data-remote' => true %>
true%>
您可以将其链接到一些预先存在的成员操作。或者,由于您最终可能希望使用这些操作的.js响应来服务其他ajax请求,因此创建一个新操作来处理此行为可能是有意义的