1

私は多かれ少なかれ複雑なモデルを約15個持っています。それらのうち、変更を追跡したいと思います。最も簡単な方法は何ですか?保存/更新後のトリガー?

パフォーマンスは重要ですが、複雑さは低いがパフォーマンスが低下する方法があれば、それを実行します。

ところで、ストアド プロシージャは使いたくありません。(そうするかもしれませんが、本当に簡単な方法があれば...)

ありがとう、フィリップ

4

2 に答える 2

0

あなたがやりたいことをしているように見えるverstal_versionsがあります。

指定したすべてのモデルにバージョン管理を追加します。たとえば、次を参照してください。

class User < ActiveRecord::Base
  versioned

  validates_presence_of :name
end

次に、モデルのバージョンを次のように使用できます。

>> u = User.create(:name => "Steve Richert")
=> #<User first_name: "Steve", last_name: "Richert">
>> u.version
=> 1
>> u.update_attribute(:name, "Stephen Richert")
=> true
>> u.name
=> "Stephen Richert"
>> u.version
=> 2
>> u.revert_to(10.seconds.ago)
=> 1
>> u.name
=> "Steve Richert"
于 2011-11-07T17:03:28.663 に答える
0

また、ActiveRecord によって提供されるDirty オブジェクトをすぐに確認することもできます。これにより、保存中のオブジェクトを操作して、変更を別のテーブルに記録できるようになります。

于 2011-11-07T18:00:36.870 に答える