在我网该删除操作,使用的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> “鉴于我的控制器中存在删除操作..
任何想法为什么会出现此错误?
在我网该删除操作,使用的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> “鉴于我的控制器中存在删除操作..
任何想法为什么会出现此错误?
如果使用resurces
路线,路径destroy
作用是一样的,以show
,但你应该使用HTTP DELETE
方法:
link_to 'Delete', [:manage, user], method: :delete
link_to 'Delete', manage_user_path(user), method: :delete
这会调用您的删除操作。如果您正在使用宁静的路由,则没有此路径delete_manage_user_path(user)
。
这不会解决'不确定method'错误。 – 2014-09-04 07:22:26
是的,我正在编辑我的回答,同时 – 2014-09-04 07:22:59
为删除调用格式为:
<%= link_to 'Delete', manage_user_path(user.id), :method => :delete %>
使用rake routes
了解可用路线,包括生成的路线帮助程序以及处理请求的控制器/操作。
知道是战斗的一半。你需要找出哪些是删除资源的正确途径。
bundle exec rake routes
下面是从我自己的Rails应用的一个输出的例子:
我添加了一个箭头,你应该寻找您可以通过运行以下命令这样做。
一旦你有了路由,你就需要指定当用户点击链接时如何发送HTTP请求。您可以通过在嵌套自定义data
属性中提供method
键来完成此操作。这里有一个例子:
<%= link_to "Delete", user_path(user), data: { method: :delete } %>
其他资源:
谢谢你,这工作! – Anss 2014-09-04 07:35:45