Я работаю над базовым приложением Rails. Чтобы все заработало, я создал два каркаса.
- календарь
- content_items
Затем я создал соответствующие ассоциации.
приложение/models/calendar.rb
class Calendar < ActiveRecord::Base
has_many :content_items
end
приложение/модели/content_item.rb
class ContentItem < ActiveRecord::Base
belongs_to :calendar
end
routes.rb
resources :calendars do
resources :content_items
end
Однако теперь, когда я пытаюсь просмотреть content_items определенного календаря, я получаю следующую ошибку:
ActionController::UrlGenerationError — Маршрут не соответствует {:action=>"show", :calendar_id=>nil, :controller=>"content_items", :id=>"5"}, отсутствуют необходимые ключи: [:calendar_id]
В нем говорится, что ошибка исходит из: views/content_items/index.html.erb
<td><%= link_to 'Show', calendar_content_item_path(content_item.calendar, content_item) %></td>
Я пробовал несколько разных маршрутов, но они приводят к разным ошибкам. Нужно ли мне обновлять модель и/или контроллеры, так как я создал вложенные маршруты?