21
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[rails]date_selectを使ってフォームから日付を入力できるようにする。

Last updated at Posted at 2017-09-04

フォームから日付を入力できるようにしたいと思っていましたが、なんだか大変そうなので後回しにしていました。

#フォームから日付を入力する。
調べてみたところ、htmlでは以下のように書けばカレンダー付きで日付を入力するフォームが、簡単に生成できます。

#html
<input type="date">

ということはrailsでも、当然このようなフォームの生成は想定されており、簡単に作ることができるはずです。

#date_select
探して見るとdate_selectというのがありました。

リファレンス

#new.html.erb
= date_select :date, Date.today, use_month_numbers: true

様々なoptionが用意されており、かなり細かい設定までできるようです。
このメソッドを使用すると簡単に日付入力ができてしまいます。

#params
このフォームから受け取ったパラメーターはparamsで以下のようになります。

date: <ActionController::Parameters {"2017-09-04(1i)"=>"2017", "2017-09-04(2i)"=>"9", "2017-09-04(3i)"=>"4"} permitted: false>

これどうやって扱うんだ……??? と思いましたが、Record.newなどとした時点で、このデータはcreated_atカラムに自動的に挿入されているようです!

#その他
他にもいろいろあるようです。

###datetime_select

スクリーンショット 2017-09-04 15.44.17.png

###date_field_tag
スクリーンショット 2017-09-04 15.45.32.png

いろいろ用意されているみたいですね!

21
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?