0

私の見解では、私はこれを行います:

  <td><%= client.last_contact.to_date %></td>

これを出力します:

2011-08-11

しかし、コンソールでそれを行うと、必要な形式が得られます。

1.9.3p194 :093 > c.last_contact
 => Thu, 11 Aug 2011 00:00:00 UTC +00:00 
1.9.3p194 :094 > c.last_contact.to_date
 => Thu, 11 Aug 2011 

私の見解では、コンソールに表示される曜日と形式を表示したいと思います。

どうすればそれを達成できますか?

ありがとう。

4

2 に答える 2

6

Rails ビューで時刻/日付を表示する最良の方法は、I18n ローカリゼーション機能を使用することです。config/localesyaml ファイルのディレクトリに日時形式を設定できます。このようなもの

# config/locales/datetime.en.yml
en:
  time:
    formats:
      # Use the strftime parameters for formats.
      # When no format has been given, it uses default.
      # You can provide other formats here if you like!
      default: "%d.%m.%Y"
      short: "%d %b"
      long: "%d %B %Y"
      date: "%a, %d %b %Y"

次にl、ビューでヘルパーを使用します

<%= l client.last_contact, :format => :date %>
于 2012-09-08T20:13:17.410 に答える
5

コンソールはinspect値を呼び出しますが、erbタグto_sはそれらの値を呼び出します。

あなたはあなたの見解を呼び出すことができますがinspect、私はあなたがstrftimeあなたが望むものを正確に定義することを可能にするどちらかを使用することをお勧めします

Date::today.strftime('%a, %d %b %Y')` 

または、フォーマットを定義して再利用できるI18n.localizeヘルパー(別名)を使用しますl

I18n.localize Date::today, :format => :long
于 2012-09-08T20:08:22.453 に答える