0

新しいRailsルートは多くの面で優れていますが、Rails 2.xの場合と同じように、ページとフォーマットを使用してページキャッシュを実現するための最良の方法を探しています。

私は基本的な公式の多くの可能な望ましいルートを持っています:

/(bazes/<baz id>/)(foos/<foo id>/)bars/page/<page num>/<format>

ルートの例:

/bars/page/1/xml
/foos/1/bars/page/2/html
/bazes/3/foos/1/bars/page/1/json
/bazes/3/bars/page/2/xml

英語で:

Give me all bars, page 1, formatted xml
Give me all bars that belong to foo 1, page 2, formatted html
Give me all bars that belong to baz 3 AND foo 1, page 1, formatted json
Give me all bars that belong to baz 3, page 2, formatted xml

私は以前、名前付きルートの束でこれを行うことができました:

map.baz_foo_bars '/bazes/:baz_id/foos/:foo_id/bars/page/:page/:format', :controller => 'bars', :action => 'formatted_bars'

しかし、これはRails 3では間違っているようで、ルーティングの問題を効率的に解決できるものが欠けていると思います。Rails 3ルーティングでこれらのルーティングパターンを実現するにはどうすればよいですか?

4

1 に答える 1

1

私は単一の一致ステートメントでそれを取得することができました

match "(/bazess/:baz_id)(/foos/:foo_id)/bars(/page/:page)(/:format)" => "bars#index", :as => :bars
于 2010-09-15T17:49:34.073 に答える