【发布时间】:2013-06-05 11:44:54
【问题描述】:
我想根据以下站点制作我的 Rails3.2 应用程序 i18n,并在 URL 路径中包含一个语言环境参数。 (http://www.wordchuck.com/en/website/blogs/5)
我实现为
scope ':locale' do
resources :nodes
end
及其他方法
def set_locale
I18n.locale = params[:locale] if params.include?('locale')
end
def default_url_options(options = {})
options.merge!({ :locale => I18n.locale })
end
在我的 application_controller.rb 中。
现在我可以确认了
http://myhost/ja/nodes/explore or http://myhost/en/nodes/explore
通过,但是
http://myhost/nodes/explore
得到“没有路由匹配 [GET]“/nodes/explore””错误。
我想知道这可能是 :locale is nil。
当 :locale 为 nil 时,要使 nil :locale 启用并默认为“en”,我该怎么办?
【问题讨论】:
标签: internationalization ruby-on-rails-3.2 rails-i18n