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

Ошибка маршрута рейка "Отсутствует: ключ действия при определении маршрутов"

Я получаю

$ rake routes
rake aborted!
ArgumentError: Missing :action key on routes definition, please check your routes.
/usr/local/rvm/gems/ruby-2.1.2/gems/actionpack-4.1.5/lib/action_dispatch/routing/mapper.rb:243:in `default_controller_and_action'
/usr/local/rvm/gems/ruby-2.1.2/gems/actionpack-4.1.5/lib/action_dispatch/routing/mapper.rb:117:in `normalize_options!'
/usr/local/rvm/gems/ruby-2.1.2/gems/actionpack-4.1.5/lib/action_dispatch/routing/mapper.rb:65:in `initialize'
/usr/local/rvm/gems/ruby-2.1.2/gems/actionpack-4.1.5/lib/action_dispatch/routing/mapper.rb:1487:in `new'
/usr/local/r................

Вот мой Routes.rb

Rails.application.routes.draw do
  get 'script/index'

  get 'landing/index'

  root 'landing/index'
end

Что вызывает проблему и как ее исправить.

4b9b3361

Ответ 2

Вы можете сделать это по-разному, все это работает:

  • get 'script/index'
  • get 'script/index' = > 'script #index'
  • get 'script/index', to: 'script #index'

Подумайте о пути первом и методе контроллера #.

Корень - это особый случай, всегда: корень script #index

Ответ 3

Изменить root 'landing/index' в root 'landing#index'

Ответ 4

У меня была ошибка с ошибкой rails g.

Если вы запустите команду, использующую routes.rb, для работы команды файл должен быть без ошибок.

В вашем случае у вас были пути, но вы не соответствовали им действиям, поэтому файл routes.rb был сломан. Вам понадобилось что-то вроде get 'landing/index' => 'my_controller#my_action'

Ответ 5

Калейдоскоп работает очень хорошо. Ниже приведен немного сжатый вариант.

Rails.application.routes.draw do
  get 'script/index'
  get 'landing/index'
  root 'script#index'
end

Rails добавить левую сторону стрелки (= > ), заменив / на # условным обозначением.