サンプルクラスを取得しました:
class Human < ActiveRecord::Base
has_and_belongs_to_many :diseases
before_save :check_health
def check_health
if(diseases.count == 0)
self.healthy = true
end
end
end
保存する前にオブジェクトのフィールドを変更したい。
問題:
self.diseases
関連の古い値を返しますdiseases
。の新しい値に
:diseases
は 経由でアクセスできますが、 のassociation_cache[:diseases]
使い方がわかりませんassociation_cache
。どのオブジェクトが削除対象で、どのオブジェクトが新規で、どれが更新されたかわかりません。