2010-12-31 8 views
28

Jestem Rubinowym Nuby (i nowością w Stack Overflow) pracującym nad Rails Tutorial by Michael Hartl i nagle serwerem rozwojowym won't load and keeps exiting. Konsola również nie ładuje się, a specyfikacja Rspec/generuje błędy/wyjątki. Załączam trochę danych z terminala, twoja pomoc jest bardzo doceniana.Dlaczego mój serwer programistyczny się nie ładuje? 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$ 

Odpowiedz

69

Kiedy prowadził do tego problemu, to dlatego, że jedną z dróg w routes.rb miał ukośnik (/) zamiast mieszania (#) używając składni controller#action (I używany „Kontroler/akcja ", która była niepoprawna). Na przykład przypadkowo miałem root :to => 'home/index'. Miało to być root :to => 'home#index'.

Znalazłem to rozwiązanie w here.

+3

The ol 'slash zamiast hash problem – Catfish

0

W moim przypadku było to spowodowane sufiksem "/" w niektórych z moich tras. Na przykład.

post 'load_query/' 

Po usunięciu tej przyrostek

post 'load_query' 

pracował.

8

Jest to spowodowane nieprawidłowymi trasami -
Proszę sprawdzić plik config/routes.rb, nawet jeśli jedna z wymienionych tras jest nieprawidłowa, a następnie zostanie zgłoszony błąd !!
Również upewnić się, że trasa jest

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

lub

root :to => 'controller#action 
+0

to jest rozwiązanie, dzięki. możesz mieć ten sam błąd, co ja, przechodzę przez ten sam samouczek. po prostu skomentuj ostatni zmodyfikowany plik raw w routes.rb, a zobaczysz, która trasa powoduje błąd, a następnie popraw składnię. – YogiZoli

2

Jestem również Ruby Nûby i miał ten sam błąd podczas pracy na szynach Tutorial Michael Hartl. Jeśli jesteś podobny do mnie, możesz po prostu wpisywać cały kod, który pojawia się w książce, naprawdę czytając lub rozumiejąc tekst. Nie wszystko jest krok po kroku. W przypadku wykazania wielbłąda vs. przypadku węża Hartl pokazuje okno z następującego kodu

$ rails generate controller static_pages ... 

Tutaj Hartl jest po prostu stara się kontrastować z instrukcjami, aby wygenerować za pomocą kontrolera StaticPages sprawę wąż, zamiast przypadku wielbłąda, która została sporządzona w Listing 3.4. Kropki "..." służą po prostu do edycji lub skracania pozostałych instrukcji dla wiersza cmd. Wpisałem w dokładnie to, co zostało pokazane i likwidacji z następujących w moim tras file:

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

get "static_pages/home" 

get "static_pages/help" 

otworzyć plik trasach usuwać

get "static_pages/..." 

zapisać plik trasy i spróbuj uruchomić szyny serwer ponownie .

Zniszczyłem też "szyny generują kontrolki static_pages ..." Nie jestem pewien czy to miało jakiś wpływ, ale teraz wszystko działa.

1

Domyślnie masz to:

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

    get 'static_pages/home' 

    get 'static_pages/help' 

WŁAŚNIE wymazać:

get 'static_pages/...' 

I trzeba będzie to w routes.rb PLIK

Rails.application.routes.draw do 

    get 'static_pages/home' 

    get 'static_pages/help' 
0

zmienić domyślną korzeniowego w pliku routes.rb.

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

Przeszedłem przez ten sam problem, a powyższa zmiana działała dla mnie.

Powiązane problemy