はじめに
新規ユーザー登録で誕生日を入力することはよくあると思うので記録残しておきます。
new.html.erb
<div class='input-birth-wrap'>
<%= f.label :birthday, "誕生日" %>
<%= f.date_select :birthday,
use_month_numbers: true,
start_year: 1930,
end_year: (Time.now.year - 5),
field_order: [:year, :month, :day],
prompt: { year: '--', month: '--', day: '--' },
date_separator: '' %>
<p>年</p> <p>月</p> <p>日</p>
</div>
f.date_selectの説明
f はフォームビルダー(form_with
や form_for
で定義)の意味で、.date_select
メソッドは、そのフォームの特定のフィールド(ここでは :birthday
)を日付形式のセレクトボックスとして表示してくれる。
この date_select
メソッドを使うと、年・月・日それぞれの数値ドロップダウンで表示してくれて選択で入力できるようになる。
おわりに
ユーザー登録はWebアプリでまず実装する機能なのでこれは今後も使いそうですね!