3

検証を singleton_class に追加すると、代わりに基本クラスに割り当てられているように見え、どちらもトリガーしません。

class Example
  attr_accessor :title, :some_boolean
  include ActiveModel::Validations
end


puts Example.validators  # []

with_validations = Example.new
with_validations.singleton_class.send :validates, :title, :presence => true

puts with_validations.valid?  #true

puts Example.validators.length # 1

私がしたいこと:

with_validations.valid?  # false
Example.new.valid?       # true
4

1 に答える 1