为什么Rails“link_to”不适用于删除操作?

index.html.erb我显示了所有产品,在每个产品旁边我都有EditDelete操作:

  ...  '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)