64

デフォルトのロケールをenvironment.rbas de(ドイツ語)に設定しています。

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

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

January, 11予想されるドイツ語()ではなく、英語()で印刷されJanuar, 11ます。

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

4

3 に答える 3

121

次のように、raw strftimeの代わりにl(alias for )メソッドを使用します。localize

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

詳細については、こちらをご覧ください。お役に立てば幸いです。

'名前付き'形式を定義することもできます。そのうちのいくつか(shortlong)はすでに定義されています。

于 2011-01-04T09:51:44.790 に答える
29

短くすることもできます。

l(some_date, :format => '%d %B %Y')
于 2011-03-07T11:45:19.553 に答える
9

es.ymlに入れて:

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

index.html.erbに次のように入力します。

<%= l somemodel.datefield %>
于 2012-09-20T23:10:07.437 に答える