はじめに
前回の続きで「Ruby on Rails 5 速習実践ガイド」のアウトプットを行うための投稿です。
今回は、モデルのバリデートを自作する方法を書いていきます!例として、Taskモデルのnameカラムに、ハイフンが含まれないようなvalidateを作成します。
目次
自作validateのメソッドを作成
task.rb
private
def validate_not_including_hyphen
errors.add(:name, 'にハイフンを入れないでください!') if name&.include?('-')
このコードでは、nameがnilではなくハイフンを含んでいるときに、errorを追加する記述です。
自作validateを呼び出す
task.rb
validate :validate_not_including_hyphen
また、コールバック(before_createなど)で呼び出すこともできます。
エラーメッセージを表示する
- @task.errors.full_message.each do |message|
li = message