2012-02-29 9 views
0

У меня есть приложение rails 3.0.11.как не показывать стандартную локаль в url для rails 3.0.11 app using translate_routes gem

Я использую translate_routes драгоценный камень, который, кажется, есть ошибка, поэтому я не могу сделать подстановочные совпадает с локалей следующим образом: 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') match '/ (: locale)/* path' => 'cms # show',: as => 'cms',: locale =>/fr | ar | en/

Это работает так, что пути имеют локали, и система может найти маршруты. Однако это показывает

en/somepage 

, когда я хочу

/ 

для значения по умолчанию.

Любые идеи о том, как не показывать языковой стандарт по умолчанию?

ответ

1

Вы пробовали переписывать default_url_options вот так?

def default_url_options(options={}) 
    options.merge!({ :locale => ((I18n.locale == I18n.default_locale) ? nil : I18n.locale) }) 
end 
Смежные вопросы