【问题标题】:Link_to :method => :delete not routing to destroy in Rails 3 with jQueryLink_to :method => :delete not routing to destroy in Rails 3 with jQuery
【发布时间】:2012-03-30 14:57:40
【问题描述】:

我正在尝试将其作为注释的销毁操作的链接:

 <%= link_to "delete", @note, :method => :delete, :confirm => "Are you sure" %>

这只是路由到笔记,并没有进入销毁操作......而这个:

 <%= button_to "delete", @note, :method => :delete, :confirm => "Are you sure" %>

是否正确路由。我正在使用 jQuery 1.7 并安装了 gem 'jquery-rails', '>= 1.0.12' (其中包括 jquery_ujs.js 文件)。

有哪些修复可以让 link_to 正常工作?出于某种原因,我有一个较旧的应用程序可以使用这些 link_to 链接,但我不记得为什么......任何指针?

(我真的不想使用button_to..这种样式很烦人,我相信一定有办法做到这一点..)

更新:使用 Rails 3.0.9

【问题讨论】:

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


    【解决方案1】:

    您没有从jquery-rails 加载jquery_ujs.js 文件。确保您在布局中同时需要 jqueryjquery_ujs

    这两个文件通常包含在app/assets/javascripts/application.js 文件中,其中包含以下内容:

    //= require jquery
    //= require jquery_ujs
    //= require_tree .
    

    如果你没有在你的布局中加入这一行:

    <%= javascript_include_tag "application" %>
    

    那么jquery.jsjquery_ujs.js 文件都不会包含在内,因此:method =&gt; :delete 请求将无法按预期工作。

    【讨论】:

    • 这对我不起作用。我之前没有 application.js 文件,但我添加了它,没有看到任何变化。确认消息也不会弹出,但 jquery 确实可以在其他页面上使用其他功能。 (另外我使用的是旧版本的 rails,javascripts 仍然在 public/javascripts 中)
    • 仅供参考,确认消息也没有出现..似乎所有数据都不起作用。但是 jquery 正在工作(例如 $("body").slideUp(); 工作)
    • 嘿,我注意到你是对的,但我仍然对远程加载的内容具有完整功能存在问题。如果可以的话,请查看这个后续问题,谢谢! stackoverflow.com/questions/9950332/…
    猜你喜欢
    • 2015-08-16
    • 2011-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-21
    • 2016-03-19
    • 1970-01-01
    相关资源
    最近更新 更多