9

私はindex.html.erbすべての製品を表示し、各製品の横に私が持っているアクションEditDeleteアクションを表示します。

<% @products.each do |product| %>
  ...
  <%= link_to("Edit", edit_product_path(product.id), :class => 'action') %>
  <%= link_to("Delete", product, :method => :delete, :class => 'action') %>
  ...
<% end %>

Editリンクは正常に機能します。ただし、Deleteリンクは機能しません。次のエラーが発生します。

Unknown action
The action 'show' could not be found for ProductsController

リクエストメソッドがDELETEではなくGETだからだと思います。しかし、明示的に設定した場合になぜこれが発生するのかわかりません:method => :delete

routes.rb非常に単純です:

root :to => "products#index"
resources :products

Javascriptを有効にしました。

提案してください。

4

4 に答える 4

12

rails.jsで指定しましたかjavascript_include_tag?これは、目立たないDELETE方法が機能するために必要です。jQueryを使用している場合は、その解決策もあります。

于 2010-12-15T04:37:19.510 に答える
5

ファイルに含めることを忘れないjquery_ujsでください:application.js

//
//= require jquery
//= require jquery_ujs
// ...
于 2013-03-19T10:24:57.613 に答える
2

削除リンクproduct_path(product)の代わりにある必要があります。product

于 2010-12-15T04:33:47.553 に答える
0

同じ問題が発生しました。実際には、古い「削除」アクションを「破棄」に変更しましたが、SSLを使用している場合は忘れてしまいました。(例:ssl_required:destroy)

于 2011-04-16T09:24:15.363 に答える