rails中的日期字段和textinput

Xim*_*mik 3 activerecord internationalization ruby-on-rails-3

我有一个迁移:

  def change
    create_table :tasks do |t|
      t.date :date, :null => false
    end
  end
Run Code Online (Sandbox Code Playgroud)

并且观点:

<%= form_for @task do |f| %>
<%= f.text_field :date %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

问题是

  1. 对于已经在数据库中的记录,为什么我有"2011-12-23 00:00:00"而不是"2011-12-23"?在数据库中,它们采用"2011-12-23"格式.

  2. 如何内化日期,以便我可以有"12.23.11"之类的日期.

Jef*_*Jef 6

我想你可以使用value选项和i18n API/l助手.就像是 :

<%= f.text_field :date, :value => l(@model.date) %>
Run Code Online (Sandbox Code Playgroud)

然后在您的语言环境文件中:

# config/locales/your_locale.yml
your_locale:
  date:
    formats:
      # Whatever format that fits your needs
      default: "%d/%m%/%Y"
Run Code Online (Sandbox Code Playgroud)