Представьте, что у вас есть два определенных маршрута:
map.resources articles
map.resources categories, :has_many => :articles
оба доступны с помощью помощников/путей
articles_path # /articles
category_articles_path(1) # /category/1/articles
если вы посетили /articles
, index
выполнено действие ArticlesController
.
если вы посетили /category/1/articles
, index
действие из ArticlesController
выполнено тоже.
Итак, каков наилучший подход для условного выбора только статей с областью действия в зависимости от вызывающего маршрута?
#if coming from the nested resource route
@articles = Articles.find_by_category_id(params[:category_id])
#else
@articles = Articles.all