Rails RESTful URL:特定类别下的所有post

目前我使用我的post#index action来按类别显示所有post或filter:

PostsController:

def index @posts = Post.all(:order => "created_at DESC") @posts = @posts.by_category(params[:category_id]) #Custom named_scope end 

路线:

 map.connect '/post/by_category/:category_id', :controller => :posts, :action => :index map.resources :users 

所以/ posts将返回所有post/ posts / by_category / 1将返回类别1下的所有post

我想知道是否有一种方法可以更好地使用RESTful ,也许可以获得一些漂亮的url_paths。

我已经阅读了指南( 使用最新的2.3 Rails分支 ),但是嵌套路由和集合似乎都不适用于这种情况。 谢谢 :)

 resources :posts resources :categories do |categories| categories.resources :posts end 

你的url然后:

/posts – 所有post

/posts/:id -sertain post

/categories – 所有类别

/categories/:id – 某些类别

/categories/:id/posts – 特定类别中的所有post。