更新中のレコードの古い値をどのように処理しますか?
たとえば、次のコード ブロックでは、以前の Winner_id フィールドが実際に変更されたと判断した後、そのフィールドを使用してクエリを実行するにはどうすればよいでしょうか?
if self.winner_id_changed?
old_value = self.changed_attributes
User.find(old_value)
#do stuff with the old winner....
end
の出力例は次のようにself.changed_attributes
なります。
{"winner_id"=>6}
クエリを実行するために、これを文字列に変換して値を解析する必要がありますか? old_value[:winner_id]
何もしないようです。