0

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 を実行していることです。しかし、それが私の問題を引き起こしているとは信じられませんが、注意すべき違いだと思います.

4

1 に答える 1