2010-10-12 35 views
2

非英語控制器我有以下問題:使用在Rails3中

如果我想跟隨Rails的命名約定,我必須使用模型的名字的複數形式爲我的控制器的名字。

實施例:

rails g scaffold_controller Content 

在這種情況下我有一個模型(內容)和先前命令是要產生與名內容的控制器。

那麼,如果我有一個德國網站,我想用site.tld/inhalt /某物某事代替site.tld /內容/某物某事

我在想兩個解決方案:

一個,使用的時候,我產生控制器(據我所知它不是由scaffold_controller發電機

2b支撐字的德語版,生成整個網站(模型,控制器),英文和路由到某個控制器的具體要求與像命名路由:

match 'logout', :to => 'sessions#destroy' 

在這種情況下,我無法使用REST風格的路線,如:

resources :products 

你覺得呢?

回答

2

您可以使用路由配置,以改變該控制器相匹配的網址:

resources :contents, :path_names => { :new => 'neue', :edit => 'bearbeiten' }, :path => 'inhalt' 

視圖中的contents_path方法仍然可以工作,但它會根據需要輸出/inhalt,並且將匹配。雖然/contents路徑不匹配。所以如果你打電話edit_content_path(@content)你會得到像/inhalt/1/bearbeiten

有關更多詳細信息,請參閱Rails routing guide

+0

完美的馬特!謝謝! – Istvan 2010-10-12 22:07:22