Rails 3 роутинг ищет неправильный контроллер - PullRequest
2 голосов
/ 15 мая 2011

Сначала у меня был этот маршрут в config / route.rb

get 'inbox/index' => 'inbox#index'

Затем я запустил rake routes, маршрут был сгенерирован правильно:

inbox_index GET  /inbox/index(.:format) {:action=>"index", :controller=>"inbox"}

Проблема в том, что я пытался получить страницу из браузера (http://localhost:3000/inbox/index), появляется сообщение об ошибке:

ArgumentError in InboxesController#index
wrong number of arguments (2 for 0)

В трассировке приложения ничего нет, и в дампе env генерируется правильный контроллер:

action_controller.instance: #<InboxController:0x7fbde79fb5a8 ...

Почему рельсы пытались позвонить InboxesController?

Кстати, у меня есть другой маршрут в том же приложении, который отлично работает:

match "search" => 'search#search', :as => 'search', :via => [:get, :post]

Я не знаю, как изолировать эту проблему, пожалуйста, дайте мне подсказку.

1 Ответ

2 голосов
/ 18 мая 2011

Наконец я узнал, что случилось.

Я определил метод InboxController#send, и метапрограммирование, введенное Rails, было нарушено.

Сообщение об ошибке не имеет отношения к ситуации.

...