2016-08-31 4 views
0

Route:Rails 4: Keine Route treffer [PATCH] "/"

display_panel GET /display/panel(.:format)       display#panel 

Controller:

class DisplayController < ApplicationController 
    def panel 
    @approval = Approval.where(user_id: current_user.id) 
    end 
end 

Ausblick:

<%= form_for approval,url: root_path, method: :patch do |f| %> 
    <%= f.check_box :pass%> 
    <%= f.submit %> 
<% end %> 

Ich glaube, ich tun Patch in einem get Aktion, dies verursacht den Fehler, so hoffe ich, mathod: :patch zu verwenden, um es zu korrigieren, aber es zeigt mir immer noch den gleichen Fehler.

Ich versuchte viele Lösungen aus anderen ähnlichen Fragen, immer noch nicht funktionieren.

Antwort

0

Aktualisieren Sie Ihre Form wie folgt aus:

<%= form_for @approval, url: [update_path] , method: :patch do |f| %> 
    <%= f.check_box :pass%> 
    <%= f.submit %> 
<% end %> 

[update_path] so etwas wie approval_path sein sollte, nicht root_path. Führen Sie rake routes | grep approval aus, um zu überprüfen, ob Sie die Route patch für die Genehmigung eingerichtet haben.

+0

Ich habe dies versucht, aber das Problem ist, dass, wenn ich einen update_path in route.rb definieren und eine Update-Methode im Genehmigungscontroller definieren, konnte ich keine Genehmigung finden mit Genehmigung = Approval.find (params [: id]) , weil ich update in einer Indexseite mache. –

+0

jetzt das ist verwirrend, wenn Sie nicht den richtigen Formular-Endpunkt oder Formular-URL haben, können Sie das Formular nicht senden, einfach so. Das Aktualisieren auf der Indexseite bedeutet nicht, dass die Index-URL als Endpunkt verwendet wird. Die Standard-Indexroute wird trotzdem auf HTTP GET abgebildet. Was Sie stattdessen tun sollten, ist nach erfolgreicher Aktualisierung auf die Indexseite umzuleiten. – kasperite

+0

Hallo, Sie sind richtig, ich denke, das größte Problem ist, dass ich nicht eine Art, ID übergeben, um die Aktion zu aktualisieren. Ich habe es mehrmals versucht und es funktioniert jetzt, danke für deine Hilfe. –

Verwandte Themen