1

いくつかのドキュメント (および DocumentsController) があります。これらは、制限された固定のカテゴリ セットを使用して並べ替えられます。ルートでこれらのカテゴリを考慮したいので、URL は次のようになります。

/documents/:category/:id
/documents/:category/new
/documents/:category/:id/edit

...など、結果をフィルタリングするために params[:category] ​​にアクセスできるようにする必要があります。これを達成する簡単な方法はありますか?それでもパスヘルパーを生成しますか? または、私はこれをそのように行うのは間違っていますか?

4

2 に答える 2

2

Rails 3 でパスをカスタマイズするのは難しくありません。

match '/documents/:id', to: 'documents#show', as: :documentパスヘルパーを提供しますdocument_path(:id)。これは、数値ではなく文字列の ID に対しても機能するため、このパターンを に拡張して/documents/:category/:id/editも問題ありません。

于 2011-09-13T13:38:36.917 に答える
2

リソースへのパスを提供できます(前述のとおり):

# config/routes.rb
resources :documents, :path => 'documents/:category'

これにより、次のルートが得られます。

/documents/:category
/documents/:category/new
/documents/:category/:id/edit
/documents/:category/:id

この場合、主キーでドキュメントを参照できるため、カテゴリのキャプチャがどのような目的に役立つかわかりません。このキーは、ほとんどの場合、カテゴリ間で繰り返されません。

于 2011-09-13T13:50:27.307 に答える