У меня есть модель с именем Entree, для которой для действия new
требуется параметр, идентификатор другой модели с именем Cave. Я не хочу встраивать Entree в пещеру, так как Cave уже вложен.
Я сделал объявление ресурса Entree, как показано ниже в routes.rb
:
resources :entrees, :except => [:new]
match "/entrees/new/:id", :to => "Entrees#new", :as => 'new_entree'
Это работает, но проблема в том, что при ошибке в действии create
я хочу снова отобразить страницу с недопустимым вводом. Но поскольку нет действия new
, я должен сделать redirect_to new_entree_path
, который не позволяет вводить пользователя.
Я пробовал следующий (самый простой) маршрут:
resources :entrees
Но тогда путь http://localhost:3000/entrees/new/32
возвращает ошибку:
No route matches [GET] "/entrees/new/32"
Вопрос в том, как я могу объявить ресурс Entree в файле маршрутов с параметром для действия new
?