acts_as_paranoid
rails上でレコードを削除する際に、DBから物理的に削除してしまうのではなく、
削除フラグをつけて見えないようにするプラグイン。
○使い方
インストール
ruby script/plugin install acts_as_paranoid
DBの設定
deleted_atカラムをdatetimeで作成
モデルに記述
def class Test < ActiveRecord::Base
acts_as_paranoid
end
以上で、「削除」したとき見た目は普通の削除と同じように削除されるけども、
DB上には"deleted_at"カラムに削除日時が記述されたままで残っている状態になる。
また、削除したものを取得・表示したい場合には下記の様に、オプションをfindするときに指定すればよい。
@test = Test.find(:all,:with_deleted => true)
一応、このプラグインはActiveScaffoldでも使える。
« ActiveScaffoldで表示するレコードを設定する | トップページ | エイプリルフール (今日のテーマ) »
「ruby/rails」カテゴリの記事
- acts_as_paranoid(2008.04.01)
- ActiveScaffoldで表示するレコードを設定する(2008.03.31)
- ActiveCalendarの入力フォーマットを変える(2008.03.24)
- ActiveScaffoldListFilters(2008.03.21)
- Activescaffoldでdate/datetimeをカレンダーで入力する(2008.03.21)
« ActiveScaffoldで表示するレコードを設定する | トップページ | エイプリルフール (今日のテーマ) »
コメント