ROR のデータベースに保存する前に、いくつかの属性を検証したいと考えています。
私のコードは次のようになります。
class AbstractClass < ActiveRecord::Base
validate :field_name, :numericality => { :only_integer => true }
self.abstract_class = true
end
class OtherAbstractClass < AbstractClass
validate :other_field, :numericality => { :only_integer => true }
self.abstract_class = true
end
class ConcreteClass < OtherAbstractClass
validate :third_field, :numericality => { :only_integer => true }
end
私の問題は、ActiveRecord (field_name) 検証の直接の祖先のみがチェックされることです...そして ConcreteClass のインスタンスには検証さえありませんか? メソッドを手動で呼び出そうとすると、オブジェクトは部分的な検証のみで保存されます。
ActiveRecord のすべてのサブクラスの検証メソッドを呼び出す方法はありますか?