2010-12-31 3 views
28

Ich bin ein Ruby Nuby (und neu zu Stack Overflow) arbeitet an der Rails Tutorial by Michael Hartl und plötzlich mein Entwicklungsserver won't load and keeps exiting. Die Konsole wird auch nicht geladen und Rspec spec/erzeugt Fehler/Ausnahmen. Ich schließe einige Ausgaben vom Terminal ein, Ihre Hilfe wird sehr geschätzt.Warum wird mein Entwicklungsserver nicht geladen? default_controller_and_action ': missing: action (ArgumentError)

Exiting 
/Users/ameedachowdhury/.rvm/gems/[email protected]/gems/actionpack-3.0.3/lib/action_dispatch/routing/mapper.rb:164:in `default_controller_and_action': missing :action (ArgumentError) 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/actionpack-3.0.3/lib/action_dispatch/routing/mapper.rb:68:in `normalize_options!' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/actionpack-3.0.3/lib/action_dispatch/routing/mapper.rb:51:in `initialize' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/actionpack-3.0.3/lib/action_dispatch/routing/mapper.rb:261:in `new' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/actionpack-3.0.3/lib/action_dispatch/routing/mapper.rb:261:in `match' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/actionpack-3.0.3/lib/action_dispatch/routing/mapper.rb:1112:in `match' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/actionpack-3.0.3/lib/action_dispatch/routing/mapper.rb:1297:in `match' 
    from /Users/ameedachowdhury/rails_projects/railstutorial/config/routes.rb:11:in `block in <top (required)>' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/actionpack-3.0.3/lib/action_dispatch/routing/route_set.rb:233:in `instance_exec' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/actionpack-3.0.3/lib/action_dispatch/routing/route_set.rb:233:in `draw' 
    from /Users/ameedachowdhury/rails_projects/railstutorial/config/routes.rb:1:in `<top (required)>' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:235:in `load' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:235:in `block in load' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:225:in `block in load_dependency' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:596:in `new_constants_in' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:225:in `load_dependency' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:235:in `load' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/railties-3.0.3/lib/rails/application.rb:127:in `block in reload_routes!' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/railties-3.0.3/lib/rails/application.rb:127:in `each' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/railties-3.0.3/lib/rails/application.rb:127:in `reload_routes!' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/railties-3.0.3/lib/rails/application.rb:120:in `block in routes_reloader' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/activesupport-3.0.3/lib/active_support/file_update_checker.rb:32:in `call' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/activesupport-3.0.3/lib/active_support/file_update_checker.rb:32:in `execute_if_updated' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/railties-3.0.3/lib/rails/application/finisher.rb:51:in `block (2 levels) in <module:Finisher>' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/railties-3.0.3/lib/rails/application/finisher.rb:52:in `call' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/railties-3.0.3/lib/rails/application/finisher.rb:52:in `block in <module:Finisher>' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/railties-3.0.3/lib/rails/initializable.rb:25:in `instance_exec' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/railties-3.0.3/lib/rails/initializable.rb:25:in `run' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/railties-3.0.3/lib/rails/initializable.rb:50:in `block in run_initializers' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/railties-3.0.3/lib/rails/initializable.rb:49:in `each' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/railties-3.0.3/lib/rails/initializable.rb:49:in `run_initializers' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/railties-3.0.3/lib/rails/application.rb:134:in `initialize!' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/railties-3.0.3/lib/rails/application.rb:77:in `method_missing' 
    from /Users/ameedachowdhury/rails_projects/railstutorial/config/environment.rb:5:in `<top (required)>' 
    from /Users/ameedachowdhury/rails_projects/railstutorial/config.ru:3:in `require' 
    from /Users/ameedachowdhury/rails_projects/railstutorial/config.ru:3:in `block in <main>' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/rack-1.2.1/lib/rack/builder.rb:46:in `instance_eval' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/rack-1.2.1/lib/rack/builder.rb:46:in `initialize' 
    from /Users/ameedachowdhury/rails_projects/railstutorial/config.ru:1:in `new' 
    from /Users/ameedachowdhury/rails_projects/railstutorial/config.ru:1:in `<main>' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/rack-1.2.1/lib/rack/builder.rb:35:in `eval' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/rack-1.2.1/lib/rack/builder.rb:35:in `parse_file' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/rack-1.2.1/lib/rack/server.rb:162:in `app' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/rack-1.2.1/lib/rack/server.rb:248:in `wrapped_app' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/rack-1.2.1/lib/rack/server.rb:213:in `start' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/railties-3.0.3/lib/rails/commands/server.rb:65:in `start' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/railties-3.0.3/lib/rails/commands.rb:30:in `block in <top (required)>' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/railties-3.0.3/lib/rails/commands.rb:27:in `tap' 
    from /Users/ameedachowdhury/.rvm/gems/[email protected]/gems/railties-3.0.3/lib/rails/commands.rb:27:in `<top (required)>' 
    from script/rails:6:in `require' 
    from script/rails:6:in `<main>' 
ameeda-chowdhurys-macbook:railstutorial ameedachowdhury$ 

Antwort

69

Als ich in dieses Problem lief, es war, weil eine der Routen in routes.rb einen Slash hatte (/) anstelle des Hash (#), wenn die controller#action Syntax (I verwendet „Controller/Aktion ", die falsch war).

Zum Beispiel hatte ich versehentlich root :to => 'home/index'. Es sollte root :to => 'home#index' sein.

Ich fand diese Lösung in here.

+3

Der alte Schrägstrich statt Hash-Problem – Catfish

0

In meinem Fall wurde es durch das Suffix Schrägstrich '/' in einigen meiner Routen verursacht. Z.B.

post 'load_query/' 

Nachdem dieses Suffix

Entfernen
post 'load_query' 

es funktionierte.

8

Dies wird durch falsche Routen verursacht -
Bitte überprüfen Sie Ihre config/routes.rb, auch wenn eine Route erwähnt falsch ist dann wird dieser Fehler ausgelöst !!
Stellen Sie außerdem sicher, dass die Route

'/url/for/something' => 'controller#action' 

oder

root :to => 'controller#action 
+0

das ist die Lösung, danke. Sie könnten den gleichen Fehler haben wie ich, ich gehe durch das gleiche Tutorial. kommentieren Sie einfach die letzte modifizierte rohe in routes.rb und Sie werden sehen, welche Route den Fehler verursachen, dann fix Syntax. – YogiZoli

2

Ich bin auch ein Ruby-Nuby und hatte den gleichen Fehler ist, während auf den Rails-Tutorial von Michael Hartl arbeiten. Wenn Sie wie ich sind, geben Sie vielleicht den gesamten Code ein, der im Buch erscheint, und lesen oder verstehen den Text wirklich. Nicht alles ist Schritt für Schritt. In zeigt Kamel Fall vs. Schlange Fall Hartl zeigt eine Box mit dem folgenden Code

$ rails generate controller static_pages ... 

Hier Hartl einfach ein StaticPages Controller Schlange Fall zu erzeugen versucht, Anweisungen, um den Kontrast, anstatt Kamel Fall, der in Geographie Listing 3.4. Die Punkte "..." dienen lediglich dazu, die restlichen Anweisungen für die cmd-Zeile zu bearbeiten oder zu kürzen. Ich tippte genau an das, was gezeigt und Liquidation mit den folgenden in meiner Routen-Datei:

SampleApp::Application.routes.draw do 
get "static_pages/..." 

get "static_pages/home" 

get "static_pages/help" 

öffnen Sie Ihre Routen-Datei löschen

get "static_pages/..." 

die Routen-Datei speichern, und versuchen Sie es erneut starten Schienen Server .

Ich habe auch zerstört "Schienen erzeugen Controller static_pages ..." Nicht sicher, ob das irgendeine Wirkung hatte, aber jetzt funktioniert alles.

1

standardmäßig Sie diese:

Rails.application.routes.draw do 
    get 'static_pages/...' 

    get 'static_pages/home' 

    get 'static_pages/help' 

gerade diese ERASE:

get 'static_pages/...' 

UND SIE WERDEN DIESE IN DER routes.rb FILE

Rails.application.routes.draw do 

    get 'static_pages/home' 

    get 'static_pages/help' 
0

Änderung Ihrer Standard-Root-HAVE in der Datei routes.rb.

get "static_pages#home" TO root to: 'static_pages#home' 

Ich habe das gleiche Problem durchlaufen, und die obige Änderung funktionierte für mich.

Verwandte Themen