:remote => Rails中的真正Ajax调用不起作用

时间:2012-11-11 23:54:18

标签: jquery ajax ruby-on-rails-3

我正在关注jQuery和Ajax上的RailsCast视频。我已将:remote => true行添加到link_to。在视频中,它表示不会发生任何事情,但链接仍然会进入页面。

正在加载jQuery(我正在将其用于我的Rails应用程序中的其他内容)。

我正在尝试链接到两个不同的资源(我通过脚手架生成的东西),这可能是问题所在。我不确定。

如果您需要查看更多代码,请告诉我们。

修改

在之前的一些JS之后,我有了jquery_ujs行。我已将其移至顶部,远程链接现在不会转到该页面。但是,使用我的new.js.erb文件,我似乎无法在单击链接时显示该表单。

链接代码:

<%= link_to 'New Project', new_project_path, :id => "new-project-link", :remote => true %>

new.js.erb:

$('#new-project-link').hide().after('<%= j render("form") %>');

另外,我的标题状态为304(未修改)而不是200.这有关系吗?

1 个答案:

答案 0 :(得分:3)

确保在布局的head部分中包含csrf_meta_tags:

http://apidock.com/rails/ActionView/Helpers/CsrfHelper/csrf_meta_tags

另外,我会检查你的respond_to块(对于js)是否在控制器动作(Projects#new)中正确设置,并且还要确保请求是GET。我认为每个jquery_ujs默认为POST。