Как я могу исправить эту ошибку маршрутизации в Ruby on Rails? - PullRequest
1 голос
/ 28 июня 2010

Я поместил эту строку в мой файл rout.db:

map.mything '/mything', :controller => 'mything', :action => 'list'

Но я получаю эту ошибку при переходе на http://localhost:3000/mything, Я получаю эту ошибку:

Unknown action
No action responded to index. Actions: list

Почему он пытается использовать индекс вместо списка? Я думал, что установив

:action => 'list'

это будет использовать действие списка? Спасибо за чтение.

Ответы [ 3 ]

1 голос
/ 28 июня 2010

Соглашаясь с Джимом Шубертом, поместите названные маршруты выше маршрутов по умолчанию.

Другая вероятная проблема заключается в том, что у вас есть что-то вроде:

map.resources :mything

, который устанавливает индексное действие на контроллере в результате того, что вы создали модель

1 голос
/ 28 июня 2010

Вы должны поместить именованные маршруты выше маршрутов по умолчанию.

Я поставил именованные маршруты, подобные этим, наверху route.rb, чтобы они всегда сначала оценивались.

ActionController::Routing::Routes.draw do |map| 
  map.about 'about', :controller => 'home', :action => 'about'
  map.contact 'contact', :controller => 'home', :action => 'contact'

  # MORE CONFIG

  map.connect ':controller/:action/:id'
  map.connect ':controller/:action/:id.:format'
end
0 голосов
/ 28 июня 2010

Извините, что задали потенциально очевидный вопрос, но пытались ли вы перезапустить приложение?Некоторые маршруты не будут регистрироваться до тех пор, пока вы не перезапустите приложение (ресурсы RESTful никогда не нуждаются в перезапуске приложения, но другие часто делают это).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...