的Rails 3:
当您使用JQuery,请确保您有正确的轨道上。 js文件(https://github.com/rails/jquery-ujs)。当你使用Prototype时,已经安装了正确的rails.js文件。此外,请确保您的布局头部添加如下:
<%= csrf_meta_tag %>
而且还要确保两个JS框架和rails.js文件被加载。
<%= javascript_include_tag "jquery", "rails" %>
# or
<%= javascript_include_tag "prototype", "rails" %>
只是一个侧面说明 - 您也可以指向Googleapis链接:http://scriptsrc.net/。
当您使用:method => :delete
一个环节里面,下面的HTML将被创建:
<a href="/comments/1" data-method="delete">Click me!</a>
正如你看到的,HTML5数据 - 属性正在被使用。 rails.js文件自动将点击事件放在具有这些属性的链接上。当设置了data-method="delete"
时,请求将使用DELETE HTTP方法完成。因此点击它会破坏评论。此外,设置:确认将创建一个数据确认属性,它符合您的预期。
梁2:
当您使用原型,该:method => :delete
东西会自动工作。只要确保你有正确的JavaScript文件:
<%= javascript_include_tag :defaults %>
当使用JQuery,你应该安装“jrails”插件(https://github.com/aaronchi/jrails)。它允许您为JQuery使用相同的Prototype助手。该插件使用旧版本的JQuery,因此请确保更新该版本。
我不确定如果:方法属性在Rails 2中使用Prototype或者只是使用普通的Javascript。因此,您甚至可能不需要Prototype或JQuery作为Rails 2中的:method属性。
正如我在评论中所说:我从不使用button_to作为DELETE链接。您可以轻松地使用link_to进行操作。据我所知,这是大多数人在创建这些链接时使用的帮手。希望能帮助到你。:)
Dupe:http://stackoverflow.com/questions/4606860/rails-3-link-to-to-destroy-not-working/4607179#4607179 – 2011-01-08 14:40:53
谢谢你!它的工作:) – 2011-01-08 14:46:42