Ruby on rails 3 如何使用translate\u在rails 3.0.11应用程序的url中不显示默认语言环境
我有一个rails 3.0.11应用程序 我正在使用translate_routes gem,它似乎有一个bug,因此我无法按如下方式对区域设置进行通配符匹配: routes.rbRuby on rails 3 如何使用translate\u在rails 3.0.11应用程序的url中不显示默认语言环境,ruby-on-rails-3,internationalization,Ruby On Rails 3,Internationalization,我有一个rails 3.0.11应用程序 我正在使用translate_routes gem,它似乎有一个bug,因此我无法按如下方式对区域设置进行通配符匹配: routes.rb MySite::Application.routes.draw do . . . match '/:locale/*path' => 'site#show', :as => 'cms' ActionDispatch::Routing::Translator.translate_from_file('
MySite::Application.routes.draw do
.
.
.
match '/:locale/*path' => 'site#show', :as => 'cms'
ActionDispatch::Routing::Translator.translate_from_file('config/locales/routes.yml')
结束
因此,我必须补充以下内容:
ActionDispatch::Routing::Translator.translate_from_文件('config/locales/routes.yml'))
匹配“/(:locale)/*路径”=>“cms#show”,:as=>“cms”,:locale=>/fr | ar | en/
只要路径具有区域设置,并且系统可以找到路由,就可以使用该方法。然而它显示
en/somepage
当我想
/
默认情况下
关于如何不显示默认区域设置有什么想法吗?您是否尝试过像这样覆盖
默认\u url\u选项
def default_url_options(options={})
options.merge!({ :locale => ((I18n.locale == I18n.default_locale) ? nil : I18n.locale) })
end