環境
Ruby 2.5.0
Rails 5.2.0
RoRは標準で提供している機能が膨大なので
便利ヘルパーなどをうっかりスルーしてしまう可能性がある(自戒)。
よくある入力形式として「メールアドレス」「確認用メールアドレス」みたいな入力欄を作ることがある。
そういう時は、値の一致チェックをゴリっと書くのではなく、ActiveRecordのconfirmation
を活用しよう。
View
1 2 |
<%= text_field :person, :email %> <%= text_field :person, :email_confirmation %> |
Model
1 2 3 |
class Person < ApplicationRecord validates :email, presence: true, confirmation: true end |
モデルのフィールド名に_confirmation
をつけることでvalidatesのconfirmation: true
を利用できるようになり、これだけで値の一致をvalidateしてくれるようになる。
参考:https://railsguides.jp/active_record_validations.html#confirmation