Rails: Conflito de recursos aninhados, como escopo da ação de índice dependendo da rota chamada
Imagine que você tenha duas rotas definidas:
map.resources articles
map.resources categories, :has_many => :articles
ambos acessíveis por ajudantes / caminhos
articles_path # /articles
category_articles_path(1) # /category/1/articles
se você visitar/articles
, index
ação deArticlesController
É executado.
se você visitar/category/1/articles
, index
ação deArticlesController
é executado também.
Então, qual é a melhor abordagem para selecionar condicionalmente apenas os artigos com escopo definido, dependendo da rota de chamada?
#if coming from the nested resource route
@articles = Articles.find_by_category_id(params[:category_id])
#else
@articles = Articles.all