Rails 3.0: neue Aktion Hinzufügen, um einen controller
Bevor rails 3.0, das hinzufügen einer neuen Aktion zu einem controller war einfach.
Du lediglich eine neue Methode hinzufügen foobar
um die controller-Klasse (genannt mycontroller).
Fügen Sie eine html-Datei im Ordner sichten für die controller foobar.html.erb
Dann, wenn Sie den browser zu .../mycontroller/foobar
alles geklappt.
Jedoch in rails 3.0, wenn ich habe eine neue Aktion, wie oben beschrieben, bekomme ich die folgende Fehlermeldung:
No route matches "/mycontroller/foobar"
Was geändert in rails 3.0? Was mache ich falsch?
InformationsquelleAutor ARI | 2010-12-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hinzufügen
routes.rb
:Diese leiten die URL
http://mysite.com/foobar
zu denfoobar
Aktion mit HTTP GET.Paar mehr Infos:
Beachten Sie, dass die Definition einer
def foobar
im controller ist nicht zwingend notwendig (es sei denn, Sie müssen etwas tun, infoobar
vor der Ansicht angezeigt wird) - aber der Blick muss vorhanden sein. In anderen Worten, selbst wenndef foobar
Methode existiert nicht in den controller, der Blickfoobar.html.erb
wird noch gerendert werden.Hier ist ein eine gute übersicht über die Routen in Rails 3.
Auch, falls Sie es nicht bereits wissen, können Sie eine Liste aller Routen, die Sie app kennt mit
rake routes
. Folglich, wenn die Ausgabe vonrake routes
listet nicht die route um einige controller/action, dann die "No route matches' - Fehler auftreten.InformationsquelleAutor Zabba
Die Fehlermeldung sagt alles. Sie haben keine entsprechende route in die config/routes.rb. Überprüfen Sie, ob der default-route ist auskommentiert. Wenn dem so wäre, müssten Sie zu route hinzufügen, für die neue Aktion.
InformationsquelleAutor Vijay Dev
Diese Frage wurde überarbeitet, die Letzte Woche.Finden Sie, was Sie hier benötigen
Rails-app nicht sehen, meine Ansichten
InformationsquelleAutor Daniel