Warum Schienen "link_to" funktioniert nicht für die Aktion löschen?

In index.html.erb zeige ich alle Produkte und neben jedes Produkt habe ich Edit und Delete Aktionen:

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

Den Edit link funktioniert ok. Jedoch, die Delete link funktioniert nicht. Ich bekomme die folgende Fehlermeldung:

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

Ich denke, es ist, weil die Anfrage-Methode GET ist, anstatt zu LÖSCHEN. Aber, ich weiß nicht, warum dies passiert, wenn ich explizit :method => :delete.

routes.rb ist ziemlich einfach:

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

Ich Javascript aktiviert haben.

Bitte vorschlagen.

  • Haben Sie versuchen, hinzufügen die show-action, auch wenn Sie es nicht verwenden, so dass Sie Ihre Routen haben, die Sie abgedeckt?... Nur so ein Gedanke
  • Haben Sie delete action im controller? Und auch versuchen, rake:route-Befehl, um zu sehen, wenn löschen Pfad ist richtig definiert.
Schreibe einen Kommentar