named_scopeは大変素晴らしいRailsの新しい機能ですが、 おなじみのwith_scopeのように、 スコープつきのブロックを伴った利用ができないという問題がありました。 例えばこんな感じに利用しようとしてもうまくいきません。

   1  User.active do
   2    User.count # => Not run
   3  end
   4  
   5  User.active.with_scope do
   6    User.count #=> Not scoped
   7  end

そこで、昔ながらのwith_scopeと同じようにnamed_scopeを使えるようにする Gemプラグインを作りました。

with_named_scope

これを使うと、以下のように期待通りに動きます。

   1  User.active.with do
   2    User.count #=> User.active.count
   3  end

なかなか便利だと思うので、Rails本家にパッチを送っておきました。

Improved named_scope to be used like as with_scope

posted by Png genki on Fri 1 Aug 2008 at 21:16

Comments:

or Preview
Social Bookmarks
  • Delicious
  • B_entry719
  • Clip_16_12_w
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ