我有一个rails 3.0.11应用程序。
我正在使用translate_routes gem,它似乎有一个bug,所以我不能与locales进行通配符匹配,如下所示: 的routes.rb
MySite::Application.routes.draw do
.
.
.
match '/:locale/*path' => 'site#show', :as => 'cms'
ActionDispatch::Routing::Translator.translate_from_file('config/locales/routes.yml')
端
所以我必须添加以下内容:
ActionDispatch ::路由:: Translator.translate_from_file( '配置/语言环境/ routes.yml') 匹配'/(:locale)/ * path'=> 'cms#show',:as => 'cms',: locale => / FR | AR |烯/
这很有效,因为路径具有区域设置,系统可以找到路径。但它显示
en/somepage
我想要的时候
/
表示默认值。
有关如何不显示默认语言环境的任何想法?
答案 0 :(得分:1)
您是否尝试过像这样覆盖default_url_options
?
def default_url_options(options={})
options.merge!({ :locale => ((I18n.locale == I18n.default_locale) ? nil : I18n.locale) })
end