Подтвердить что ты не робот

Почему мой сервер разработки не загружается? default_controller_and_action ': missing: action (ArgumentError)

Я - Ruby nuby (и новый для Stack Overflow), работающий над Rails Tutorial от Michael Hartl и неожиданно мое развитие сервер не будет загружаться и будет продолжать работать. Консоль также не загружается, а спецификация Rspec/выводит ошибки/исключения. Я включаю некоторые результаты с терминала, ваша помощь очень ценится.

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]orial/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$ 

4b9b3361

Ответ 1

Когда я столкнулся с этой проблемой, это произошло потому, что один из маршрутов в routes.rb имел слэш (/) вместо хэша (#) при использовании синтаксиса controller#action (я использовал "контроллер" /action ", который был неправильным).

Например, я случайно имел root :to => 'home/index'. Он должен был быть root :to => 'home#index'.

Я нашел это решение в здесь.

Ответ 2

Это вызвано неправильными маршрутами -
Проверьте свою конфигурацию /routes.rb, даже если один маршрут указан неправильно, тогда эта ошибка будет сброшена!
Также убедитесь, что маршрут

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

или

root :to => 'controller#action

Ответ 3

Я тоже Ruby nuby и имел ту же ошибку во время работы над Rails Tutorial от Michael Hartl. Если вы похожи на меня, вы можете просто ввести весь код, который появляется в книге, с чтением или пониманием текста. Не все поэтапно. При демонстрации случая верблюда и змеи Hartl показывает коробку со следующим кодом

$ rails generate controller static_pages ...

Здесь Hartl просто пытается противопоставить инструкции для создания контроллера StaticPages, используя случай змеи, а не случай верблюда, что было сделано в листинге 3.4. Точки "..." - это просто отредактировать или усечь остальные инструкции для строки cmd. Я набрал именно то, что было показано и получилось в файле маршрутов:

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

 get "static_pages/home"

 get "static_pages/help"

откройте файл маршрутов, удалите

get "static_pages/..."

сохраните файл маршрутов и снова попробуйте запустить сервер rails.

Я также уничтожил "rails generate controller static_pages..." Не уверен, что это имело какой-то эффект, но теперь все работает.

Ответ 4

По умолчанию вы получите следующее:

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

  get 'static_pages/home'

  get 'static_pages/help'

ТОЛЬКО УДАЛЯЙТЕ ЭТО:

  get 'static_pages/...'

И У ВАС ЕСТЬ ЭТО В ФАЙЛЕ ROUTES.RB

Rails.application.routes.draw do

  get 'static_pages/home'

  get 'static_pages/help'

Ответ 5

В моем случае это было вызвано суффиксом slash '/' на некоторых моих маршрутах. Например.

post 'load_query/'

После удаления этого суффикса в

post 'load_query'

он работал.

Ответ 6

измените корень по умолчанию в файле routes.rb.

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

Я пережил ту же проблему, и вышеупомянутое изменение сработало для меня.