2017-04-24 17 views
0

どのようにしてリソースのルートをその属性によって十分に柔軟にすることができますか?例えばRailsルーティング:属性に応じたフレキシブルリソースパス

resources :articles, param: :article_slug do 
    member do 
     resources :comments 
    end 
end 

Articletitle, category, slug, etc

の属性を持っている。しかし、クライアントは、カテゴリのような、URLの最初の存在でなければならないということを望んでいる:/entertainment/articles/:article_slug/comments/:idまたは/sports/articles/:article_slug/comments/:id。私はこのアプローチの正しいアプローチが何か分かりません。

+0

scope path: ':category' do resources :articles, param: :article_slug do resources :comments end end end 

を試してみて、このような方法でURLを生成しますか? 'rake routes'を実行した後 –

+0

私は'/articles /:article_slug/comments /:id'を持っています –

答えて

0

は、あなたが今持っているもののURL

article_comment_path(@article, @comment, category: @article.category) 
+0

はい、動作しますがカテゴリは 'Article'の属性です。私はいくつかのラムダメソッドを使用しようとしていますが、動作しません。 –

+0

@JoseMarieAntonioMiñoza私は答えを更新しました、あなたはそれをチェックすることができます。 –

+0

が動作します。ありがとうございました。 :) –

関連する問題