S 8e806432b0970ab7146e36f2ba2d7aac rails-scope

scope はモデルに付加できる、予め決められた検索条件、もしくは動的に設定できる検索条件。

例えば、いつも検索する時に必要な固定条件がある場合や、必ず何かしらの条件を設定して検索するような場合に、毎回Where()やconditionsなどを生成する手間を省略できる。
class Hoge < ActiveRecord::Base
  scope :notInDeleted, where('deleted_at is null')
  scope :searchTitle, lambda {|t| where("titles.name like '%?%'", t) }
end
としておくと、
res1 = Hoge.notInDeleted

res2 = Hoge.searchTitle('hoge')
などとできる。
勿論where()だけでなくorder()やselect()も使える。
また、
res = Hoge.notInDeleted.searchTitle('hoge)
のように、メソッドチェーンも可能。
これは便利。

もしかして

    他の人の「rails-scope」

    S 8e806432b0970ab7146e36f2ba2d7aac

    秋雲です。とうとうつぶやきを公開するまでに至りました。リアルでもよくつぶやくのでぴったりですね。 マインディアっていう会社でITエンジニアしてます。RailsとかCakeとか、フレームワークを使ってのお仕事がメイン。サーバサイドも担当することも。プログラミングの他はアニメとかよく?見ます。

    最新

      最新エントリ

        関連ツイート