2012-02-09 3 views
1

У меня есть следующие в моем routes.rb:Во вложенном маршруте, как это сделать: формат установлен на ноль?

resources :users do 
resources :decisions 
end 

/users/new работает отлично, но /users/:id/decisions/new дает мне:

No route matches {:controller=>"decisions", :format=>nil} 

<%= link_to "New decision," new_user_decision_path(@user) %> дает мне ту же ошибку.

Я смотрел в своем rake routes, и действие и помощник перечислены. Все перечисленные действия имеют параметр суффикса (.: Format), но я не понимаю, как все мои действия DecisionsController работают нормально без опции формата, кроме «нового».

Как это сделать: формат установлен в ноль и каков его значение по умолчанию?

ответ

1

похоже, что вы использовали единственное decision в своем URL-адресе, если он должен быть decisions. Ваш URL должен быть /users/1/decisions/new.

Однако вы должны использовать именованный маршрут, чтобы это не происходило. Вы должны увидеть что-то вроде new_user_decision через rake routes. Затем вы можете использовать new_user_decision_path для всех ваших ссылок.

+0

Спасибо, jcm. Исправлена ​​опечатка и добавлена ​​небольшая информация в соответствии с вашим предложением помощника URL. – eeeeeean

Смежные вопросы