1

我创建了一个 rails 3 网站,可以通过 whereisdaniel.com 和 whereisdaniel.ru 访问 .com 网站应该提供英文版本,.ru 网站应该提供俄语版本。

在本地,一切正常。但是,在我部署的网站上,起初一切正常,但在转到 .ru 网站后,尝试切换到 .com 版本会导致俄语翻译。我唯一能想到的是我的 nginx / 乘客配置存在某种问题。

我的配置文件如下所示:

nginx.conf

server {
  listen 80;
  server_name whereisdaniel.com whereisdaniel.ru;
  root /home/dan/whereisdaniel/public/;
  passenger_enabled on;
}

我的其余代码直接从 Rails 指南中剪切和粘贴:http: //guides.rubyonrails.org/i18n.html#setting-the-locale-from-the-domain-name

另一个更小/额外的问题: 我没有从 Rails 指南中实现的唯一一件事是指南的这一部分,因为我不明白如何:

link_to("Deutsch", "#{APP_CONFIG[:deutsch_website_url]}#{request.env['REQUEST_URI']}")

而不是这个,我只有指向不同站点 url 的基本 html 链接。实际上,如果有人知道,我想了解如何/在何处创建该 APP_CONFIG 常量。

4

1 回答 1

1

对此链接的评论解决了我的问题: Rails:Phusion Passenger 和 I18n.locale 应该如何表现?

在 Rails 3.0.4 中似乎存在一个错误。这是一种解决方法:

在应用程序控制器中,过滤器之前的 set_locale 应如下所示:

def set_locale
  I18n.locale = I18n.default_locale
  I18n.locale = extract_locale_from_tld
end

我现在唯一想知道的是 APP_CONFIG 变量。

于 2011-03-13T20:05:05.393 回答