2012-09-01 297 views
0

使用Rails 2.3.8我有Rails的刪除鏈接後,無法正常工作升級

= link_to 'old_Delete', link_path(@link), :confirm => 'Are you sure?', 
:method => :delete 

使用Rails 3.1.8此不再工作,沒有錯誤和日誌只是顯示一個節目請求。

我試圖將其更改爲

= link_to 'Delete', link_path(@link), method: :delete, 
data: { :confirm => 'Are you sure?' } 

但這並沒有幫助。

我怎樣纔能有一個刪除鏈接的作品。

我使用'post'資源創建了一個新應用程序(rails 3.2.7),以查看鏈接在新應用程序中的外觀。

對生成了鏈接爲:

= link_to 'Destroy', post, method: :delete, data: { confirm: 'Are you sure?' } 

,但是當我嘗試使用這種格式,與@link,我使用其他地方的鏈接實例替換後(POST資源,模型等)在頁面上,即

= link_to 'Destroy', @link, method: :delete, data: { confirm: 'Are you sure?' } 

它不起作用(沒有錯誤)。

我試着在我的public/javascripts文件夾中保存rails.js(我已經斷言編譯關閉了),並在我的config/application.rb文件中包含config.action_view.javascript_expansions[:defaults] = %w(jquery rails),但它沒有幫助,仍然看到獲取並且沒有刪除發生。

+0

我在升級時沒有遇到任何問題,但是在最後一個示例中出現的錯誤是因爲您使用局部變量而不是實例變量「@ link」 –

+0

已更改爲@link,didn'幫助,就像如何得到處理。 –

回答

2

正如其他人所說,你可能有一個錯字,link@link。但刪除停止工作的原因可能是圍繞着UJS的變化。長的答案,谷歌「軌改變爲3.0在ujs」。簡短的回答,請確保您的應用程序加載rails.js從適當UJS助手提供者,如https://github.com/rails/jquery-ujs

確保,與其它的變化而更改:

= javascript_include_tag "application" 

= javascript_include_tag :defaults 
+0

是的我相信這是問題,雖然我沒有設法讓它正常工作,試圖正確設置ujs,不確定配置組合。順便說一句,現在我已經關閉了資產編譯,而我專注於沒有它的應用程序工作。 –

+1

檢出:http://railscasts.com/episodes/205-unobtrusive-javascript – DGM

+0

(+1)好吧現在檢查。如果它給了我答案,我會給你一個接受。 –

0

最後一種方法是你的變量「link」或「@link」?你可以嘗試使用後者嗎?

+0

謝謝,是的@link,我改變了它並沒有幫助,只發送了一個獲取請求並且記錄沒有被刪除。 –

相關問題