2016-05-28 11 views
0

Ich bekomme Routing-Fehler No route matches [GET] auf delete Anfrage. Hier ist meine Route löschen
delete '/remove/:product_id', to: 'carts#remove_product'
Ich benutze es wie folgt
<a href="/remove/<%=subq.product.id%>" method="delete"></a>. Irgendeine Idee über diesen Fehler?Keine Route stimmt mit [GET] überein, für Löschanforderung

+3

Gibt es einen Grund, warum Sie den 'link_to'-Helfer nicht verwenden? Etwas wie [das] (https://stackoverflow.com/questions/1317448/how-to-create-a-delete-link-for-a-related-object-in-ruby-on-rails) kann was du sein versuchen zu tun. –

+0

Bemerkenswert. Ich benutze a-tag einfach aus Stylinggründen, weil ich ein i-tag in meinem a-tag habe. Es sollte keinen Unterschied machen. Recht? – rubhan

Antwort

3

Als Justin Holz vorgeschlagen, Sie link_to Helfer verwenden Rails könnte, was würde wie folgt aussehen:

<%= link_to 'Destroy', your_method_path(subq.product), :method => :delete %> 

Wenn Sie es zu tun, um Ihre aktuelle Art und Weise halten möchten, können Sie versuchen, (bitte beachten Sie data-method siehe statt method, https://stackoverflow.com/a/35283202/4480140):

<a href="/remove/<%=subq.product.id%>" data-method="delete"></a> 

Und auch überprüfen, ob in Ihrem application.js Sie Datei haben

//= require jquery 
//= require jquery_ujs 

Und schließlich diese Datei application.js ist in view/layout/application.html.erb Datei enthalten. Cf https://stackoverflow.com/a/17748391/4480140

+0

Vielen Dank! Arbeitete perfekt, indem nur Methode mit Datenmethode ersetzt wurde. – rubhan

Verwandte Themen