Ruby on Rails 3.2.13 Ruby 1.9.3 を使用しています。
en.yml ファイルに次のコードがあります。
date:
formats:
default: "%Y-%m-%d"
short: "%b %d"
long: "%A, %B %d, %Y"
mmyy: "%B %Y"
fr.yml ファイルに次のコードがあります。
date:
formats:
default: "%Y-%m-%d"
short: "%b %d"
long: "%A, %d %B %Y"
mmyy: "%B %Y"
私の日付フィールド media_created は YYYY-MM-DD 形式の文字列に格納されています
私のビューに短い日付形式を表示するための私のビューのコードは次のとおりです。
<%= l media_item.media_created.to_date, format: :mmyy %>
これは、私の短い形式が localhost でどのように機能するかの例です (日付 2013-07-01):
July 2013 (en)
juillet 2013 (fr)
これは、私の長い形式が本番環境でどのように機能するかの例です (日付 2013-07-01):
July 2013 (en)
July 2013 (fr)
私のビューに長い日付形式を表示するための私のビューのコードは次のとおりです。
<%= l media_item.media_created.to_date, format: :long %>
これは、ローカルホストで長い形式がどのように機能するかの例です (日付は 2013-06-23 で、日曜日でした):
Sunday, June 23, 2013 (en)
dimanche, 23 juin 2013 (fr)
私のロングフォーマットが本番環境でどのように機能するかの例を次に示します (日付 2013-06-23):
Sunday, June 23, 2013 (en)
Sunday, June 23, 2013 (fr)
http://guides.rubyonrails.org/i18n.htmlと、セクション 3.3 で説明されているように l ヘルパーを使用した Stack Overflow のいくつかの例を読みました。ただし、セクション 5 では、カスタム翻訳に t ヘルパーを使用する方法について説明しています。他のすべての I18n 国際化に t を使用していますが、正常に動作しています。唯一の問題は、日付に l ヘルパーを使用する場合です。
リンクRailsガイドリンクで説明されているように、tヘルパーの使用方法の例を探しました。このリンクには、フィールド名を使用してステートメントをコーディングする方法の例は示されていません。Stack Overflow で見つけたすべての例は、l ヘルパーまたは strftime メソッドを使用しています。ローカルホストで動作するように、アプリケーションの残りの部分を本番環境で行うように、日付形式を「変換」できるようにしたいと考えています。私は実稼働サーバーでこれを行うために変更したすべてのファイルをチェックして、すべてのファイルがそこに移動されたことを確認しました。私が読んだことから、 l ヘルパーはカスタム翻訳ではうまく機能しないようです。おそらく、t ヘルパーを使用すると、Rails ガイドで提案されたこの問題を処理できます。
どんな助けでも大歓迎です。
更新: 2013 年 7 月 29 日午後 12:47 CDT - 2 つのサーバー間で確認できる他の唯一の違いは、開発サーバーが ruby 1.9.3p327 を実行しており、運用サーバーが ruby 1.9.3p362 を実行していることです。しかし、それが私の問題を引き起こしているとは信じられませんが、注意すべき違いだと思います.