Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 如何使用translate\u在rails 3.0.11应用程序的url中不显示默认语言环境_Ruby On Rails 3_Internationalization - Fatal编程技术网

Ruby on rails 3 如何使用translate\u在rails 3.0.11应用程序的url中不显示默认语言环境

Ruby 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('

我有一个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('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