目前我使用我的帖子#index action来按类别显示所有帖子或过滤器:
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 会返回所有帖子, / posts / by_category / 1 会返回所有帖子属于1类
我想知道是否有办法做更多 RESTful ,并且可能会得到一些漂亮的url_paths。
我已经阅读了指南(使用最新的2.3 Rails分支),但是对于这种情况,嵌套路线和集合似乎都不合适。谢谢:))
答案 0 :(得分:6)
resources :posts
resources :categories do |categories|
categories.resources :posts
end
然后你的网址:
/posts
- 所有帖子
/posts/:id
- 某篇文章
/categories
- 所有类别
/categories/:id
- 特定类别
/categories/:id/posts
- 特定类别中的所有帖子。