我想根据以下站点制作我的 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 为零。
当 :locale 为 nil 时,要使 nil :locale 启用并默认为“en”,我该怎么办?