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