« Wii Wareでドクターマリオを購入した | トップページ | 花見に行った »

2008.04.02

acts_as_paranoidとpaginating_findの両方を使った際に、論理削除済みの項目も含めて表示したいときの方法

#間違えていたので修正しました(2008年4月18日)
ステップ1:
./vendor/plugins/paginating_find/lib/paginating_find.rb
を以下のように:with_deletedを追加。

VALID_COUNT_OPTIONS = [:select, :conditions, :joins, :distinct, :include, :having, :group, :with_deleted]

ステップ2:
./vendor/plugins/acts_as_paranoid/lib/caboose/acts/paranoid.rb
のcountメソッドを以下のように修正。

def count(*args)
options = args.extract_options!
if options.delete(:with_deleted) then
count_with_deleted(*args.push(options))
else
with_deleted_scope { count_with_deleted(*args.push(options)) }
end
end

ステップ3:
以下のように利用する。
Item.find(:all, :page => {:size => 10, :current => 1}, :with_deleted => true)

↓1日1ポチッとをお願いします!励みになります!
ポチっとよろしく!

|

« Wii Wareでドクターマリオを購入した | トップページ | 花見に行った »

ruby」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/22269/40738918

この記事へのトラックバック一覧です: acts_as_paranoidとpaginating_findの両方を使った際に、論理削除済みの項目も含めて表示したいときの方法:

« Wii Wareでドクターマリオを購入した | トップページ | 花見に行った »