はじめに
Rails 6 に追加されそうな新機能を試す第10段。 今回のちょい足し機能は、 date_select の year_format
編です。
datetime_select, date_select で year_format オプションを指定することで、年の書式を指定できるようになりました。
記載時点では、Rails は 6.0.0.rc1 です。 gem install rails --prerelease
でインストールできます。
今回は、せっかくなので、「令和」に対応した Ruby 2.6.3 を使ってます。
$ rails --version
Rails 6.0.0.rc1
プロジェクトを作成する
rails プロジェクトを作成します。
$ rails new sandbox6_0_0rc1
scaffold で CRUD を作成する
$ cd sandbox6_0_0rc1
$ bin/rails g scaffold User name birth_at:datetime
$ bin/rails db:create db:migrate
app/views/users/_form.html.erb
を編集する
:year_format
オプションを追加して年の書式を変更してみます。
app/views/users/_form.html.erb
...
<%= form.datetime_select :barth_at, year_format: ->year { "#{Date.new(year, 12, 31).jisx0301.split('.').first}(#{year})" } %>
登録画面を表示
User の登録画面を表示してみると、年の書式が変わっていることがわかります。