Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails中的jQuery ajax调用?_Ruby On Rails_Jquery Ui_Jquery - Fatal编程技术网

Ruby on rails Rails中的jQuery ajax调用?

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需要生成一个Ajax请求,该请求将链接项的id发送到控制器中的一个方法。基本上,当用户单击删除链接时,我想要一个漂亮的模态对话框窗口。该窗口需要包含有关已删除项目的各种信息。 例如。
“删除”%>

我可以用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请求,因此创建一个新操作来处理此行为可能是有意义的