2014年10月13日月曜日

railsでテキストフォームに日付のフォーマットを行って初期値を入れる

railsでMySQLから取得した値をテキストフォームの初期値に入るようにしていたら、 日付のフォーマットをする必要があったのでそのときに調べたものです。 railsのバージョンはこちら。
$ bundle exec rails -v
Rails 4.1.5
MySQLのテーブルのデータはこうなっています。
mysql> select start_date from mst_services where mst_service_id=28;
+---------------------+
| start_date     |
+---------------------+
| 2014-09-22 10:36:00 |
+---------------------+
1 row in set (0.01 sec)
フォームにそのまま出力するとこんな感じ。
<%= form_for(@mst_service) do |f| %>
  <%= f.text_field :start_date, class: 'form-control' %>
<% end %>

# => 2014-09-22 10:36:00 +0900
日付のフォーマットを指定してみました。 valueにstrftimeしたものを入れるようにしたらよいようです。
<%= f.text_field :start_date,value:f.object.start_date.try(:strftime,'%Y-%m-%d %H:%M'), class: 'form-control' %>

# => 2014-09-22 10:36

0 件のコメント:

コメントを投稿