Я пытаюсь сделать validates_length_of, но указываю диапазон / минимум / максимум во время выполнения.
Например, у нас есть родительская модель:
class Parent < ActiveRecord::Base
has_many :children
# with attributes min_length, max_length
end
И дочерниймодель:
class Child < ActiveRecord::Base
belongs_to :parent
# with an attribute reference
end
Итак, что я хотел бы сделать в классе Child:
validate :reference_length
def reference_length
options = { :within => parent.min_length..parent.max_length }
self.class.validates_length_of :reference, options
end
Но это не работает, есть ли способ сделать это без выполненияerrors.add(:reference, message) if...