У меня есть объект с именем Parent, который имеет дочерние объекты has_many:
has_many :children
accepts_nested_attributes_for :children, :allow_destroy => true
Дочерний объект включает модуль, который определяет :before_validation
обратный вызов:
def self.included base
base.class_eval do
before_validation :my_callback
end
end
protected
def my_callback
logger.debug "see me!"
end
Я заметил, что при создании родительских и вложенных атрибутов для дочерних элементов обратный вызов :before_validation
не вызывается для каждого дочернего элемента. Это предполагаемое поведение? Вместо этого я попытался сделать обратный вызов before_save
, и он, кажется, работает нормально.
Это на Rails 3.0.10.
Спасибо!