目前我使用我的帖子#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分支),但是对于这种情况,嵌套路由和集合似乎都不合适.谢谢 :)
resources :posts resources :categories do |categories| categories.resources :posts end
你的网址然后:
/posts
- 所有帖子
/posts/:id
- 有关的帖子
/categories
- 所有类别
/categories/:id
- 某些类别
/categories/:id/posts
- 特定类别内的所有帖子.