1

whereisdaniel.com と whereisdaniel.ru でアクセスできる Rails 3 Web サイトを 1 つ作成しました。.com の Web サイトは英語版を提供し、.ru のサイトはロシア語版を提供する必要があります。

ローカルでは、すべてが機能します。ただし、デプロイした Web サイトでは、最初はすべて機能しますが、.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

もう1つの小さな/追加の問題: Railsガイドから実装しなかったのは、ガイドのこの部分だけでした。

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

これの代わりに、さまざまなサイト URL への基本的な html リンクがあるだけです。実際、誰かが知っていれば、その APP_CONFIG 定数を作成する方法/場所を理解したいと思います。

4

1 に答える 1

1

このリンクへのコメントは私の質問を解決しました: Rails: How should Phusion Passenger and I18n.locale behavior?

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 に答える