#ruby-on-rails #ruby-on-rails-3
#ruby-on-rails #ruby-on-rails-3
Вопрос:
У меня проблема с вложенными маршрутами, которую я не могу решить. У меня есть приложение, в котором есть вложенные маршруты, подобные таким:
resources :events do
resources :sessions
end
Я пытаюсь использовать следующий link_to в своем коде:
<%= link_to "New Session", new_event_session_path %>
Когда я запускаю rake routes, он покажет правильный URL с существующим методом GET:
new_event_session GET /events/:event_id/sessions/new(.:format) {:action=>"new", :controller=>"sessions"}
Когда я пытаюсь использовать link_to в одном месте, он работает, когда я пытаюсь использовать его в другом месте, он не работает, вместо этого он выдает мне эту ошибку:
No route matches {:controller=>"sessions", :action=>"new"}
Единственное различие между двумя файлами заключается в расположении файлов в приложении (один находится в разделе просмотры / события, другой — в разделе просмотры / сеансы и вызываемый URL:
/события/1 —vs— /события/1/сеансы
Я все еще новичок в rails, так что это, вероятно, глупый вопрос, но я немного наткнулся на стену. Любая помощь приветствуется.
Ответ №1:
Вам просто нужно передать объект event помощнику path:
new_event_session_path(@event)