1

多くのリレーションを埋め込むための子コールバックをトリガーしようとしています。例えば:

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 で確認されたパフォーマンスの問題)

ユーザーが保存されたときに電話ごとに強制的にコールバックを発生させる方法はありますか (パフォーマンスの問題は無視します)。

4

1 に答える 1

0

子オブジェクトで update_attributes を実行する after save コールバックを作成し、コールバックをトリガーします。

これにはパフォーマンスへの影響があるため、プロファイリングしてください。

于 2013-07-03T11:46:20.013 に答える