2010-09-14 77 views
0

新的rails路徑在很多方面都很出色,但我正在尋找最好的方式來實現頁面緩存,並使用頁面和格式,就像我在rails 2.x中一樣,Rails 3路由和資源中的額外參數

我有基本公式的許多可能的期望的路線:

/(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路由實現這些路由模式?

回答

1

我能夠用一根火柴聲明

match "(/bazess/:baz_id)(/foos/:foo_id)/bars(/page/:page)(/:format)" => "bars#index", :as => :bars 
得到它