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。