iyuichiの私的開発ログ

渋谷で働くWebエンジニアのログ. Java, Android, iOS, Docker, GCP, AWS, ゲーム開発

論理削除をしたい。 〜 acts_as_paranoidプラグイン

削除は論理削除にしたいのでググったらacts_as_paranoidというプラグインがメジャーっぽかったので試してみる。

まずはプラグインをインストール。

$ gem install acts_as_paranoid

削除日付を入れるカラムを追加。
ModelNameのところは実際のモデル名を記述。

$ ruby script/generate migration AddDeletedAtToModelName deleted_at:datetime

DBマイグレーションして、

$ rake db:migrate

モデルに acts_as_paranoid を追記

class ModelName < ActiveRecord::Base
  acts_as_paranoid  # 論理削除プラグイン用

  has_many :sub_items, :dependent => :destroy

  : (以下、続く)

でできるということだが、エラーが出てしまった。。

undefined local variable or method `acts_as_paranoid' for #

ハマリ中です。


後日追記
ubuntuで環境を作ってgitから最新を落としたらうまく動きました。
gemで取得できる0.3.1というバージョンが古くrails2.3.5に対応していないようでした。

$ ruby script/plugin install git://github.com/technoweenie/acts_as_paranoid.git

こうすると、"vendor/plugins" 以下にインストールされます。

windowsでも、git を入れて直接"vendor/plugins"に落としたら動きました。
"ruby script/plugin install" はうまく動かない様子。