Routing-Fehler bei "Ruby on Rails-Tutorial"
Es scheint so, dass einige Leute hier dieses problem hatte, aber ich konnte nicht finden, dass jede Lösung in einem anderen Thema.
Ich bin dabei Kapitel 3 des Ruby on Rails-Tutorial, die Arbeit auf den statischen Seiten. Wenn ich will, Sie zu öffnen "localhost" es gibt mir ein "Routing Error" im Browser.
Meine Ruby ist aktuell auf version 1.9.3.
Meine Schienen ist derzeit auf der version 3.2.
Habe ich versucht:
- Neustart des Servers
- speichern Sie alle Dateien wieder
- überprüfung der Probleme in der static_pages_controller.rb
- überprüfung der Probleme in die Wege.rb
- überprüfung der Probleme in der static_oages_spec.rb
Es gibt auch keine Fehler in den HTML-code der einzelnen statischen Seite. Und ich finde keine weitere Hilfe im tutorial, weder in anderen Fragen hier auf StackOverflow.
Edit:
Dies ist die eigentliche Fehlermeldung vom browser:
Routing-Fehler
No route matches [GET] "/static_pages/home" Versuchen
rake-Strecken für mehr Informationen über mögliche Routen.
wenn ich mich http://localhost:3000/static_pages/home
zu einer von drei statischen Seiten, die ich habe.
Dies ist Routen.rb:
SampleApp::Application.routes.draw do
get "static_pages/home"
get "static_pages/help"
get "static_pages/about"
end
Auch, ich habe versucht, " rake routes
" in das terminal zu. Dies ist das Ergebnis:
home_static_pages GET /static_pages/home(.:format) static_pages#home
help_static_pages GET /static_pages/help(.:format) static_pages#help
about_static_pages GET /static_pages/about(.:format) static_pages#about
static_pages POST /static_pages(.:format) static_pages#create
new_static_pages GET /static_pages/new(.:format) static_pages#new
edit_static_pages GET /static_pages/edit(.:format) static_pages#edit
GET /static_pages(.:format) static_pages#show
PUT /static_pages(.:format) static_pages#update
DELETE /static_pages(.:format) static_pages#destroy
- Und das ist die Fehlermeldung der server ist mir:
Started GET "/static_pages/home.html" for 127.0.0.1 at 2012-04-03 13:23:54 +0200
ActionController::RoutingError (No route matches [GET] "/static_pages/home.html"):
actionpack (3.2.3) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
actionpack (3.2.3) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
railties (3.2.3) lib/rails/rack/logger.rb:26:in `call_app'
railties (3.2.3) lib/rails/rack/logger.rb:16:in `call'
actionpack (3.2.3) lib/action_dispatch/middleware/request_id.rb:22:in `call'
rack (1.4.1) lib/rack/methodoverride.rb:21:in `call'
rack (1.4.1) lib/rack/runtime.rb:17:in `call'
activesupport (3.2.3) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
rack (1.4.1) lib/rack/lock.rb:15:in `call'
actionpack (3.2.3) lib/action_dispatch/middleware/static.rb:62:in `call'
railties (3.2.3) lib/rails/engine.rb:479:in `call'
railties (3.2.3) lib/rails/application.rb:220:in `call'
rack (1.4.1) lib/rack/content_length.rb:14:in `call'
railties (3.2.3) lib/rails/rack/log_tailer.rb:14:in `call'
rack (1.4.1) lib/rack/handler/webrick.rb:59:in `service'
/Network/Servers/pluto.kayoom.lan/Users/benediktkrebs/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
/Network/Servers/pluto.kayoom.lan/Users/benediktkrebs/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
/Network/Servers/pluto.kayoom.lan/Users/benediktkrebs/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
Auch fügen Sie die genaue URL, die Sie versuchen zu laden, und die Routen-Datei bitte.
Können schieben Sie Ihre vollständige, aktuelle (nicht funktionierende) code zu github? Das würde es einfacher für Menschen, um herauszufinden, was/wo das problem ist.
Ja, aber ich fand das problem sowieso nicht... 😉 ich bin ganz am Anfang von dem Zeug... =D Meine Rails-Server ausgeführt wurde, in der .../rails_projects/demo_app. Zurzeit arbeite ich in der sample_app. Vielen Dank für die netten Antworten sowieso... =D Hoffe, ich gemacht, Sie lachen kurz... 😉
fügen Sie dem controller, und lassen Sie uns sehen, deine controller-Klasse und die Methoden, die Routen, die angegeben wurden unter sollte funktionieren, wenn du passende controller-Methoden
InformationsquelleAutor oRbb | 2012-04-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie dies :
Add-in Routen , starten Sie den server neu, und aktualisieren Sie browser .
Versuchen Sie zu ausführen "rake routes > route.txt' . Und überprüfen Sie Ihre Routen in der Datei . Und das versuchen.
Die Routen in der text-Datei sind genau die, die ich in der route.rb. Ohne Rechtschreibfehler.
komisch ... kann sein, einige Plattform-Problem
InformationsquelleAutor Vik
Wenn Sie mit Spork müssen Sie erneut ausführen, Spork, so dass Ihre tests berücksichtigen Sie die änderungen in den config-Dateien wie Strecken.rb, die pre-loaded mit Spork, so werden nicht automatisch aktualisiert.
Quelle: dies ist die Quelle dieser Informationen
"nach dem ändern einer Datei enthalten, in der prefork laden (wie Routen.rb), müssen Sie starten Sie den Spork-server zu laden, die neue Rails-Umgebung.
Wenn die tests fehlschlagen, wenn Sie denken, Sie sollten vorbei, beenden Sie den Spork-server mit Strg-C und starten Sie es neu,
InformationsquelleAutor Vladimir Brasil
Ihre Routen.rb-Datei Probleme hat, verwenden Sie entweder Erholsamen Stil:
oder die nicht-Erholsamen Stil:
weitere Informationen finden Sie in der offiziellen Anleitung: http://guides.rubyonrails.org/routing.html
InformationsquelleAutor Siwei Shen 申思维
Hatte ich ein paar Probleme arbeiten durch die Rails Tutorial, und es half, um in der Lage zu konsultieren, der Autor GitHub repo: https://github.com/railstutorial
Finden Sie die Datei, die Sie arbeiten an und vergleichen Sie es Zeile für Zeile. Oder einfach Ausschneiden und einfügen die komplette Datei und sehen, ob es laufen wird, dann verfolgen Sie Ihre Fehler.
InformationsquelleAutor Chris Fletcher
Wenn Sie das Kontrollkästchen Routen.rb config finden Sie wahrscheinlich, dass die dort ein 'e' fehlt /home. Hinzufügen, und Sie sind golden. Oder grün. Oder was auch immer 🙂
InformationsquelleAutor Philip Mossop
überprüfen Sie Ihre http://Adresse, insbesondere, wenn Sie auf localhost:3000/Pfad oder localhost:3000/pfad1/pfad2, usw.
InformationsquelleAutor aug2uag
Sobald Sie ändern das format Ihrer Zuordnung von
get
zumatch
Sie nicht brauchen, static_pages mehr, nur direkt zulocalhost:3000/pagename
e.glocalhost:3000/about
InformationsquelleAutor Ronny Mahlangu
Vom Rubin 2 Rubin 3 es gibt einige Unterschiede, aber immer noch die Dokumentation für 3 ist nicht leicht zu finden. Es sollte ein tutorial nur für, die: praktische Unterschiede zwischen den Schienen 2 und 3.
Die Anleitung durch das herunterladen Ruby on rails ist "The book of ruby", aber es ist nicht mehr gut. Es sollte mindestens eine Beratung, die am Anfang von Kapitel 19.
InformationsquelleAutor Esperanto
In
config/routes.rb
kommentieren
root :to => 'welcome#index'
InformationsquelleAutor The HCD