2013-02-15 35 views
0

我對軌道中的路由有疑問。有範圍「locale」和嵌套資源的Rails路由

在我的新項目,我有車型名稱

1. Country 
    2. States 
    3. Category 
    4. Subcategory 
    5. advertisements 

我想產生類似下面

1. /en 
2. /en/advertisements 
3. /en/indiana 
4. /en/indiana/advertisements 
5. /en/indiana/cars 
6. /en/indiana/cars/advertisements 
7. /en/indiana/cars/bmw/advertisements 
8. /en/cars/advertisements 

前路線: -

en is country locale 
    indiana is state 
    cars is category 
    bmw is sub category 

這裏是我的路線申報routes.rb

scope ":language" do <br /> 
     &nbsp;&nbsp;&nbsp;&nbsp;scope "(:state)" do <br /> 
     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scope "(:main_category)" do <br /> 
     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  scope "(:category)" do <br /> 
     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; resources :advertisements <br /> 
     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; match "search" => "advertisements#index" 
     <br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;end<br /> 
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br /> 
    &nbsp;&nbsp;&nbsp;&nbsp; end<br /> 
    end <br /> 

以上航線正常工作,如果URL爲 「/ EN /印第安納州/汽車/寶馬/廣告」

現在我想爲 「/ EN /汽車/廣告」 「/ EN /汽車/廣告路線「那麼它會分配來恩的語言和汽車陳述

我怎樣才能申報路線這個‘/ EN /汽車/廣告’,

請幫我

在此先感謝

+0

您確定要以這種方式建模資源嗎? 由於您的網址方案的原因,您試圖暗示汽車資源本身在語言更改時會有所不同。我寧願將區域設置作爲參數。而不是說區域設置對對象集合有影響。 – 2013-02-15 05:23:24

回答

0

使用匹配路線。我認爲這可能會解決你的問題。

match '/:language/:category/advertisements' => 'controller#action_name'