Rails:デートルのロケールを日付Strftimeに認識させるにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/4592235

質問

デフォルトのロケールが設定されています environment.rb なので de (ドイツ人)。

また、ドイツ語のすべてのエラーメッセージが表示されるため、ロケールはサーバーによって選択されます。しかし、私が日付を印刷しようとするとき strftime 次のように:

some_date.strftime('%B, %y')

英語で印刷します(January, 11)、そして予想されるドイツ語ではありません(Januar, 11).

デフォルトのロケールに従って日付を印刷するにはどうすればよいですか?

役に立ちましたか?

解決

使用 l (のエイリアス localize)このような生のstrftimeの代わりに方法:

l(date, format: '%B %d, in the year %Y')

見る ここ 詳細については、それが役立つことを願っています。

また、「名前付き」フォーマットを定義することもできます。short, long)すでに事前に定義されています。

他のヒント

また、それを短くすることもできます:

l(some_date, :format => '%d %B %Y')

es.yml put:

es:
  date:
    formats:
      default: "%d / %m / %Y"

in index.html.erb put:

<%= l somemodel.datefield %>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top