为什么Rails“link_to”不适用于删除操作?
在index.html.erb
我显示了所有产品,在每个产品旁边我都有Edit
和Delete
操作:
... 'action') %> :delete, :class => 'action') %> ...
Edit
链接正常工作。 但是, Delete
链接不起作用。 我收到以下错误:
Unknown action The action 'show' could not be found for ProductsController
我想这是因为请求方法是GET而不是DELETE。 但是,如果我明确设置,我不知道为什么会发生这种情况:method => :delete
。
routes.rb
非常简单:
root :to => "products#index" resources :products
我启用了Javascript。
请建议。
你有javascript_include_tag
指定的rails.js
吗? 这是不显眼的DELETE
方法工作所必需的。 如果您正在使用jQuery,那么也有一个解决方案。
别忘了在jquery_ujs
文件中包含jquery_ujs
:
// //= require jquery //= require jquery_ujs // ...
它必须是product_path(product)
而不是删除链接中的product
。
我遇到了同样的问题 – 实际上我已将旧的’删除’操作更改为’销毁’ – 但忘记了如果您使用SSL ..(例如ssl_required:destroy)