2014-09-04 34 views
0

在我網該刪除操作,使用的link_to在軌

link_to('Edit', edit_manage_user_path(user.id)) 

工作正常,但此,

link_to('Delete', delete_manage_user_path(user.id)) 

給出了錯誤「未定義的方法`delete_manage_user_path」爲#<#:0xc05439c> 「鑑於我的控制器中存在刪除操作..

任何想法爲什麼會出現此錯誤?

回答

2

如果使用resurces路線,路徑destroy作用是一樣的,以show,但你應該使用HTTP DELETE方法:

link_to 'Delete', [:manage, user], method: :delete 
+0

謝謝你,這工作! – Anss 2014-09-04 07:35:45

1
link_to 'Delete', manage_user_path(user), method: :delete 

這會調用您的刪除操作。如果您正在使用寧靜的路由,則沒有此路徑delete_manage_user_path(user)

+0

這不會解決'不確定method'錯誤。 – 2014-09-04 07:22:26

+0

是的,我正在編輯我的回答,同時 – 2014-09-04 07:22:59

0

爲刪除調用格式爲:

<%= link_to 'Delete', manage_user_path(user.id), :method => :delete %> 

使用rake routes瞭解可用路線,包括生成的路線幫助程序以及處理請求的控制器/操作。

1

知道是戰鬥的一半。你需要找出哪些是刪除資源的正確途徑。

bundle exec rake routes

下面是從我自己的Rails應用的一個輸出的例子: enter image description here

我添加了一個箭頭,你應該尋找您可以通過運行以下命令這樣做。

一旦你有了路由,你就需要指定當用戶點擊鏈接時如何發送HTTP請求。您可以通過在嵌套自定義data屬性中提供method鍵來完成此操作。這裏有一個例子:

<%= link_to "Delete", user_path(user), data: { method: :delete } %> 

其他資源: