2

目前,我使用我的 posts#index 操作来显示所有帖子或按类别过滤它们,以防指定:

帖子控制器:

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 分支),但嵌套路由和集合似乎都不适合这种情况。谢谢 :)

4

1 回答 1

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

然后你的网址:

/posts- 所有帖子

/posts/:id- 某些职位

/categories- 所有类别

/categories/:id- 某些类别

/categories/:id/posts- 某个类别中的所有帖子。

于 2011-04-29T04:44:46.720 回答