2012-02-29 2 views
0

私はレール3.0.11アプリケーションを持っています。次のように私は、私は、ワイルドカードを行うことができないバグを持っているようだtranslate_routesの宝石を使用していますtranslate_routes gemを使用して、レール3.0.11のアプリケーションのURLにデフォルトロケールを表示しない方法

は、ロケールに一致します。 routes.rbを

MySite::Application.routes.draw do 
. 
. 
. 


match '/:locale/*path' => 'site#show', :as => 'cms' 
ActionDispatch::Routing::Translator.translate_from_file('config/locales/routes.yml') 

エンド

をSO私がしなければなりませんでした

ActionDispatch :: Routing :: Translator.translate_from_file( 'config/locales/routes.yml') '/(:locale)/ * path' => 'cms#show'、:を次のように追加します。 => 'cms'、:ロケール=>/fr | ar | en/

これは、パスにロケールがあり、システムがルートを見つけることができるほど多くの点で機能します。私はデフォルトのため

/ 

をしたいときしかし、それは

en/somepage 

を示しています。

デフォルトのロケールを表示しない方法についてのアイデアはありますか?

答えて

1

これを上書きしようとしました?

def default_url_options(options={}) 
    options.merge!({ :locale => ((I18n.locale == I18n.default_locale) ? nil : I18n.locale) }) 
end 
関連する問題