Routing-Fehler No route matches [GET] "/static_pages/home", tutorial
Wenn ich den server-browser zeigen mir so etwas wie dieses:
Routing Error
No route matches [GET] "/static_pages/home"
Try running rake routes for more information on available routes.
Rake routes zeigt mir dies:
root / static_pages#home
help /help(.:format) static_pages#help
about /about(.:format) static_pages#about
contact /contact(.:format) static_pages#contact
Meiner Wege.rb-Datei:
MyApp::Application.routes.draw do
root :to => 'static_pages#home'
match '/help', :to => 'static_pages#help'
match '/about', :to => 'static_pages#about'
match '/contact', :to =>'static_pages#contact'
end
Jemand ne Idee?
- Es ist keine route für /static_pages/zu Hause (obwohl Sie Ihre home-Aktion bei / ). Was hast du erwartet?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist keine route festgelegt, die für die url "/static_pages/home'
Obwohl root Punkte zu static_pages controller mit action zu Hause, ist es immer noch reagiert auf den Pfad '/' und nicht '/static_pages/home'
Wenn Sie hinzufügen
Erhalten Sie die erwartete Antwort für '/static_pages/home'
Schritt 5.3.3 Rails tutorial
Müssen Sie nicht aktualisieren Sie Ihre Seite
aber nur den URL ändern, indem
weil Sie definieren, 'static_pages/home' als root '/'.
Bei mir klappt es
Ich habe gerade den gleichen Fehler wie szatan, wenn ich folgte Ruby on Rails tutorial.
Der Fehler ist da, bisher haben wir test-URL war
http://localhost:3000/static_pages/help
da die Aktion in static_pages. Aber, nach dem Wechselroutes.rb
ausSollte die URL geändert
http://localhost:3000/help
da sagen wir den Rails-server, die zum weiterleiten der Pfad
/help
zustatic_pages#help
. Wir sollten nicht erwarten, dass der Benutzer den Pfad kennen/static_pages/help
.Denken Sie daran, um entfernen Sie die "public/index.html" - Datei.
Können Sie definieren alle Routen richtig, aber wenn Sie lassen Sie diese Datei, werden Sie nicht routing es richtig zu stellen.
Hatte ich das problem, wenn ich zu diesem Punkt gekommen in der Anleitung. Es wurde beschlossen, wenn ich schon den browser zu
"http://localhost:3000/"
- und reloaded.Konnte man Punkt um
"/"
oderroot_path
statt'/static_pages/home'
. Keine Notwendigkeit zu Punkt zwei Routen an der gleichen Stelle...sollte man hinzufügen :als keword zu definieren XXX_path,wie
root :to => 'static_pages#home'