Rails 4 root redirect_to locale

时间:2014-12-20 00:59:09

标签: ruby-on-rails ruby-on-rails-4

我想做很多本地化网站的简单事情。

当您直接访问www.example.com时,您应该被重定向到default_locale(或基于IP地址的另一个)并获取www.example.com/en或其他一些语言环境,但它必须是可见的。现在,根页面已本地化,但在网址中不可见,我不希望人们感到困惑,并认为该网站来自他们自己的国家。

我见过这样的解决方案(3。):

http://dhampik.com/blog/rails-routes-tricks-with-locales

它会重定向到www.example.com/en,但每个浏览器都有错误

  

Firefox:该页面未正确重定向。这个问题可以   有时是因禁用或拒绝接受cookie而导致的。

  

错误代码310(net :: ERR_TOO_MANY_REDIRECTS)

我使用Cookie存储最后选择的语言,如果用户访问过,但没有注册,并且下次访问时,我们将使用Cookie中的值来确定区域设置。

更新:

代码很简单,非常类似于此处描述的内容: - http://guides.rubyonrails.org/i18n.html - http://railscasts.com/episodes/138-i18n-revised(这里提到无限重定向,但是当我提出他建议的代码时,我仍然没有直接访问该页面时被重定向到区域设置)

路由

Rails.application.routes.draw do
  scope "(:locale)", :locale => /en|es/ do

  root 'static_pages#home'
  ...
  end
end

0 个答案:

没有答案