Rails Controllers => params[]
Может кто-нибудь помочь мне немного лучше понять параметры в вложенных атрибутах?
Я использую Apotomo. Но для примера. Мы могли бы просто принять его в ApplicationController
У меня есть простой контроллер шоу действий.
if params[:id].present?
@menu = Menu.find(params[:id])
else
@menu = Menu.first
end
Который проверяет, указан ли идентификатор меню в URL. Если нет, то показывает первое меню.
Это работает хорошо, пока я только на /menus/ URL.
Но у меня есть вложенные атрибуты. Поэтому, как только мы посетим URL / меню /17/ категории /
Он находит params[:id] как параметр категории, а не меню.
Как только я вложусь, я могу позвонить:menu_id, и он отлично работает. Но больше не работает на родительском объекте.
Как мне искать params[:id] объекта меню независимо от того, где я нахожусь в URL?
И я что-то упустил полностью?
Вот мой конфиг роутов, а также:
resources :menus, :only => [:show, :home] do
resources :categories, :only => [:index, :show]
end
Спасибо тебе за твое терпение.
1 ответ
Я бы проверил, как определяется маршрутизация. Может быть, есть причина, почему эта ссылка переводится таким образом.