Hatena::ブログ(Diary)

リンゴの水やり?(はてな) このページをアンテナに追加 RSSフィード

myPhotoViewer irPanel ioTouch free iRubyKaigi2009 ioTouch free iUnitTest
はてなスターカウンター

2008-06-04 水

[]named_scopeすごすぎる

Rails 2.1にしました。

sudo gem update rails

named_scopeが話題になっていたので、早速使ってみました。

これがとても便利です。


永遠に使い物にならない名簿管理を作ってはやり直ししてて、結局Excelで管理してたりしますが、Rails 2.1で再度作り直しをしてます。


クラス毎にリストアップしたり、住所不明、生存なんかの組合せがとても簡単に出来ます。

class Member < ActiveRecord::Base
  named_scope :living, :conditions => {:dead => false }, :order => 'klass, no'
  named_scope :dead, :conditions => {:dead => true }, :order => 'klass, no'
  named_scope :missing, :conditions => {:missing => true }, :order => 'klass, no'

  named_scope :a, :conditions => ["klass = 'A'"] # 引数取らないから{ :klass => 'A' }の方が良いかも
  named_scope :b, :conditions => ["klass = 'B'"]
  named_scope :c, :conditions => ["klass = 'C'"]
end

使う時は

  Member.living # 生存者メンバーの配列
  Member.a.living # クラスAの生存者メンバーの配列
  Member.b.living # クラスBの生存者メンバーの配列
  Member.c.living # クラスCの生存者メンバーの配列
  Member.missing # 住所不明一覧

住所不明もクラス毎に分けるのが簡単に出来ます。

県内、県外で分けたりとかも簡単に出来ますね。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/gutskun/20080604/1212584320