0

モデルで変更された古い属性に一般的にアクセスしたい-つまり、古い属性値のハッシュを取得したい。私のコードは、変更されたすべての属性に関心があります。これは、実行するたびに異なるセットになる可能性があります。

変更された属性名の配列を次のように取得できることを知っています

model.changed

そして私はあなたができることを知っています

model.attribute_was

名前がわかっている場合は属性の古い値を取得しますが、プログラムで2つを組み合わせる方法や、古い値のセットを取得する方法が見つかりません。

オブジェクトに関するニュース記事を作成するために使用しています。

ユーザー「Bob」がxをaからbに変更しました

4

1 に答える 1

1

属性ハッシュを使用して、この配列を生成できます。

old = model.changed.map{|attr| model.send("#{attr}_was".to_sym) }
于 2013-01-02T23:37:37.280 に答える