質問

現在、投稿#インデックスアクションを使用して、指定された場合にカテゴリごとにすべての投稿またはフィルターを表示します。

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 - 特定のカテゴリ内のすべての投稿。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top