Ruby on rails Rails 3国际化(I8n)区域设置来自域名问题
我创建了一个rails 3网站,可以访问whereisdaniel.com和whereisdaniel.ru。网站应提供英文版本,网站应提供俄文版本 在本地,一切正常。然而,在我部署的网站上,起初一切正常,但在访问.ru网站后,尝试切换到.com版本会导致俄语翻译。我唯一能想到的是,我的nginx/乘客配置存在某种问题 我的配置文件如下所示:Ruby on rails Rails 3国际化(I8n)区域设置来自域名问题,ruby-on-rails,internationalization,nginx,setlocale,Ruby On Rails,Internationalization,Nginx,Setlocale,我创建了一个rails 3网站,可以访问whereisdaniel.com和whereisdaniel.ru。网站应提供英文版本,网站应提供俄文版本 在本地,一切正常。然而,在我部署的网站上,起初一切正常,但在访问.ru网站后,尝试切换到.com版本会导致俄语翻译。我唯一能想到的是,我的nginx/乘客配置存在某种问题 我的配置文件如下所示: nginx.conf server { listen 80; server_name whereisdaniel.com whereisdani
nginx.conf
server {
listen 80;
server_name whereisdaniel.com whereisdaniel.ru;
root /home/dan/whereisdaniel/public/;
passenger_enabled on;
}
我的其余代码直接从Rails指南剪切粘贴到这里:
还有一个较小/额外的问题:
我唯一没有从Rails指南中实现的是指南的这一部分,因为我不理解如何:
link_to("Deutsch", "#{APP_CONFIG[:deutsch_website_url]}#{request.env['REQUEST_URI']}")
与此相反,我只提供了指向不同站点URL的基本html链接。实际上,如果有人知道的话,我想了解如何/在哪里创建APP_CONFIG常量 在这个链接上的评论解决了我的问题: 在Rails 3.0.4中,似乎有一个bug。以下是一个解决方法: 在应用程序控制器中,过滤器之前的set_locale应如下所示:
def set_locale
I18n.locale = I18n.default_locale
I18n.locale = extract_locale_from_tld
end
我现在唯一想知道的是APP_CONFIG变量。在这个链接上的评论解决了我的问题: 在Rails 3.0.4中,似乎有一个bug。以下是一个解决方法: 在应用程序控制器中,过滤器之前的set_locale应如下所示:
def set_locale
I18n.locale = I18n.default_locale
I18n.locale = extract_locale_from_tld
end
我现在唯一想知道的是APP_CONFIG变量