Using link_to
the way you are by passing in a resource only really works when you actually use resources in your route file.
This is the difference (rake routes output) with using a non-resourceful route and one generated by resources:
blog_article GET /blog/article(.:format)
article GET /articles/:id(.:format)
When you use article_path(@article)
it will fill in :id
with the id of the resource.
I'd advise you to use the show action of the articles controller so you would have /blog/articles/:id
or you could do something like this if you really want that routing:
get "blog/article/:id" => "articles#show", :as => 'blog_article'
which turns into:
blog_article GET /blog/article/:id(.:format)
The official guides have some good info on this.