2007年10月04日

論理削除プラグイン(バグ修正)

今度は、論理削除されたレコードを表示してみます。

以下のファイルに例があります。方法は2つ。
vendor/plugins/acts_as_paranoid/lib/caboose/acts/paranoid.rb

# Widget.find_with_deleted(:all)
# # SELECT * FROM widgets
#
# Widget.find(:all, :with_deleted => true)
# # SELECT * FROM widgets


最初にfind_with_deleted()メソッドをやってみた。
以下のエラーが発生。

undefined method `extract_options!' for [:all]:Array

extract_options!()メソッドがないらしい。
ActiveSupportのライブラリとしてあるはずなんだが。。。
gemでActiveSupportを更新しても改善されない。
で、以下のサイトから更新分のソースをダウンロードしてActiveSupportのフォルダにコピーした。
http://dev.rubyonrails.org/changeset/7217

[更新先フォルダ]
.../ruby/gems/1.8/gems/activesupport-1.4.2

core_ext/array/extract_options.rb ってゆうファイルがコピーされたので、うまく動きました。
ここのフォルダを上書きしちゃっていいのかな?


で、次は、:with_deleted => true を確認。
:with_deleted オプションがないってエラーが発生。
以下のサイトに修正内容が載っていました。
http://rubyforge.org/tracker/index.php?func=detail&aid=8896&group_id=944&atid=3711

vendor/plugins/acts_as_paranoid/lib/caboose/acts/paranoid.rb を修正しました。

これで、削除されたレコードを表示できました。

2007/11/27 追記
でもな〜、paginating_findが使えないんだよね。
posted by だーまえ at 01:31| Comment(1) | TrackBack(0) | プラグイン | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
Do you know more comprehensive tutorial about acts_as_paranoid? コメント
Posted by sancho at 2007年12月19日 11:07
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/58712907

この記事へのトラックバック