概要
値が変更されていないことを検証するValidatorを実装し、更新時のみ適用する
内容
値が変更されていないことを検証するValidatorを実装し、更新時のみ適用します。
実装
Validator
lib/validator/not_changed_validator.rb
class NotChangedValidator < ActiveModel::Validator def self.validate(record) record.errors.add(:user, 'の内容が変更されていません。') unless record.changed? end end
Application.rb設定
class Application < Rails::Application config.autoload_paths += Dir["#{config.root}/lib/**/"] end
Modelからの呼び出し
|ruby
class Xxxx
validate NotChangedValidator, on: :update
# 他の処理
end
|