Некоторые детали, я использую Rails 3.2.1 на Ruby 1.8.7 / WEBrick локально и 1.8.7 EE / Passenger на сервере)
Вот моя проблема, у меня есть контроллер с именем foo сдействие с именем bar, и мне нужно создать маршрут к нему.Доступ к "bar" осуществляется через get.
Так как все документы говорят, я делаю:
resources :foo do
get :bar, :on => :collection
end
Когда я загружаю представление (в хамле), которое имеет: = link_to "Bar", bar_foo_path, я получаю:
undefined local variable or method `bar_foo_path'
Хотя это и не имеет смысла, я решил переключить: collection на: member, который фактически позволит загружать страницу, но, очевидно, ссылка взорвется, потому что яУ меня нет никакого идентификатора: id для добавления в URL.
Но вот странная часть, если я затем переключу: member обратно на: collection, он работает как надо ... то есть, пока мне не нужно перезапуститьвеб-сервер, то он снова сломан.Локально, это все время, поэтому работа с этими маршрутами, как вы можете себе представить, расстраивает.Это также ломается на сервере, потому что у меня, очевидно, нет возможности переключаться между: member и: collection
Я могу дублировать это по требованию как локально, так и на сервере, и все, что действительно имеет значение, кажетсяперейти от: member к: collection (чтобы я мог начать с: member и продублировать проблему), поэтому, пожалуйста, скажите мне, что я просто делаю какую-то глупость или я обнаружил какую-то ошибку с: on =>: collection?
edit:
Просто для пояснения, то же поведение проявляется, если я переключу его на более длинную форму:
resources :foo do
collection do
get 'bar'
end
end