はindex.html.erb
では、私はすべての製品を表示し、各製品の隣には、私がEdit
とDelete
アクションがあります。Rails "link_to"が削除アクションで機能しないのはなぜですか?
<% @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が有効になっています。
お勧めします。
あなたのルートはあなたがカバーしているように、あなたがそれを使用していないにもかかわらず、showアクションを追加してみました...ただの思考 – Richard
はあなたですか?あなたのコントローラで削除アクションがありますか?また、rake:routeコマンドを実行して、削除パスが正しく定義されているかどうかを確認してください。 – ranendra