2011-11-14 8 views
4

オブジェクト私は、オブジェクトが子オブジェクトHAS_MANY親と呼ばれる持っている:のRails 3.0.10 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 

has_many :children 
accepts_nested_attributes_for :children, :allow_destroy => true 

子供が:before_validationコールバックを指定するモジュールを含んでいるが

子供の親属性とネスティング属性を作成するときに、子ごとに:before_validationコールバックが呼び出されていないことに気付きました。これは意図された動作ですか?代わりにbefore_saveコールバックを試してみましたが、正常に動作するようです。

これはRails 3.0.10です。

ありがとうございます!

答えて

7

あなたはvalidates_associatedを使用する必要があります。魔法のように

class Parent < ActiveRecord::Base 
    has_many :children 
    accepts_nested_attributes_for :children, :allow_destroy => true 
    validates_associated :children 
end 
+0

作品。ありがとう! – Bradley

関連する問題