【问题标题】:Rails RESTful URL's: All Posts under certain CategoryRails RESTful URL:特定类别下的所有帖子
【发布时间】:2011-08-15 05:41:37
【问题描述】:

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

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

【问题讨论】:

  • 您真的需要“by_category”网址吗?这是rails 3吗?

标签: ruby-on-rails routing restful-url friendly-url


【解决方案1】:
resources :posts
resources :categories do |categories|
  categories.resources :posts
end

然后你的网址:

/posts - 所有帖子

/posts/:id-某些帖子

/categories - 所有类别

/categories/:id - 特定类别

/categories/:id/posts - 特定类别中的所有帖子。

【讨论】:

  • 谢谢,我很困惑,它必须是那种“逆向”的自然方式;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多