Rails RestfulURL:特定のカテゴリに基づくすべての投稿
-
27-10-2019 - |
質問
現在、投稿#インデックスアクションを使用して、指定された場合にカテゴリごとにすべての投稿またはフィルターを表示します。
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/by_category/1 戻ります カテゴリ1に基づくすべての投稿
もっとやる方法があるのだろうか 安らかです, 、そして多分いくつかのきれいなurl_pathsを取得するために。
ガイドを読んだ(最新の2.3 Railsブランチを使用しています)しかし、ネストされたルートもコレクションも、このケースに適用されるようには見えませんでした。ありがとう :)
解決
resources :posts
resources :categories do |categories|
categories.resources :posts
end
その後、あなたのURL:
/posts
- すべての投稿
/posts/:id
- 必ず投稿
/categories
- すべてのカテゴリ
/categories/:id
- 特定のカテゴリ
/categories/:id/posts
- 特定のカテゴリ内のすべての投稿。
所属していません StackOverflow