的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