2013-07-03 47 views
1

我在觸發嵌入很多關係的子對象回調。例如:在父保存上觸發子對象回調(Force)

class User 
    embeds_many :phones, cascade_callbacks: true 
end 


class Phone 
    embedded_in :user, inverse_of: :phones 
    before_save :callback_after_save 

    def callback_after_save 
    #Do some stuff here 
    puts "callback fired" 
    end 
end 

當我做

User.last.save 

我看到

=>true 

爲手機上的回調,因爲他們並沒有改變,不會引發(由mongoid短視的性能問題。 )

當用戶保存時,是否有強制爲每部手機觸發回叫的方法(忽略性能問題)?

回答

0

我寫了一個保存回調後,會對子對象執行update_attributes,然後觸發它們的回調。

有這方面的性能影響,所以配置文件。

+0

如果我正確理解這一點,我會有一個before_save用戶,它做self.phones.each {| p | p.update_attributes}。但我不想每次向用戶添加一個新的關係時都繼續這樣做。有沒有通用的方法來做到這一點? – nightf0x

相關問題