Rails: конфликт вложенных ресурсов, как настроить действие индекса в зависимости от вызываемого маршрута
Представьте, что у вас есть два определенных маршрута:
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