Sonntag, Juni 7, 2020

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'
Wenn Sie fügen Sie die eigentliche Fehlermeldung können die Menschen in der Lage, Ihnen zu helfen.
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

9 Kommentare

  1. 3

    Versuchen Sie dies :

    match "/static_pages/home" => "static_pages#home", :via => :get
    match "/static_pages/help" => "static_pages#help", :via => :get
    match "/static_pages/about" => "static_pages#about", :via => :get

    Add-in Routen , starten Sie den server neu, und aktualisieren Sie browser .

    Habe genau die Weise, die Sie sagte… nichts hilft, auch. Sorry! =( Aktualisierte die Frage oben ein bisschen mehr.
    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

  2. 3

    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.

    1. Stop-Spork (Strg + C)
    2. Laufen Spork wieder (bundle exec spork)

    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

  3. 0

    Ihre Routen.rb-Datei Probleme hat, verwenden Sie entweder Erholsamen Stil:

    resource :static_pages do 
      collection do 
        get :home
        get :help
        get :about
      end 
    end

    oder die nicht-Erholsamen Stil:

    match "static_pages/home", :controller => "static_pages", :action => "home"
    match "static_pages/help", :controller => "static_pages", :action => "help"
    match "static_pages/about", :controller => "static_pages", :action => "about"

    weitere Informationen finden Sie in der offiziellen Anleitung: http://guides.rubyonrails.org/routing.html

    Beides ausprobiert. leider es hilft nicht… ich noch genau die selbe Fehlermeldung. Auch nach dem Neustart des Servers und auch nach dem speichern der Datei.

    InformationsquelleAutor Siwei Shen 申思维

  4. 0

    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.

    Selbe problem wieder. Gesucht für die Routen.rb in seinem github kopiert und in meine Datei und gespeichert. Neustart server und browser aktualisiert. Immer noch die gleiche Fehlermeldung.

    InformationsquelleAutor Chris Fletcher

  5. 0

    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

  6. 0

    Sobald Sie ändern das format Ihrer Zuordnung von get zu match Sie nicht brauchen, static_pages mehr, nur direkt zu localhost:3000/pagename e.g localhost:3000/about

    InformationsquelleAutor Ronny Mahlangu

  7. -1

    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

Kostenlose Online-Tests