как не показывать локаль по умолчанию в URL для приложения rails 3.0.11 с использованием gem translate_routes - PullRequest
0 голосов
/ 29 февраля 2012

У меня есть приложение rails 3.0.11.

Я использую гем translate_routes, который, похоже, содержит ошибку, поэтому я не могу выполнить подстановочные совпадения с локалями, как показано ниже: rout.rb

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


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

end

SO Я должен был добавить следующее:

ActionDispatch :: Routing :: Translator.translate_from_file ('config / locales / rout.yml') match '/(: locale) / * path '=>' cms # show ',: as =>' cms ',: locale => / fr | ar | en /

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

en/somepage 

, когда я хочу

/

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

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

1 Ответ

1 голос
/ 28 декабря 2012

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

def default_url_options(options={})
  options.merge!({ :locale => ((I18n.locale == I18n.default_locale) ? nil : I18n.locale) })
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...