2012年10月15日月曜日

Rails 【モデル】 scopeを使って検索してみたよ

( ̄(エ) ̄)彡☆

コントロールに書くと…
@user = User.where(:name => params[:name])

でも、こういうのはモデルに書きたいヘ(^o^)ノ

Userモデル
class User < ActiveRecord::Base
  scope :search, lambda { |name|
    where("name = ?", "#{name}") 
  }
end

使い方はこんな感じ
@user = User.search

すっきりしたねーヾ(╹◡╹✽三✽╹◡╹)ノ″

んじゃ、複数の場合は…

Userモデル
class User < ActiveRecord::Base
  scope :search, lambda { |name, admin|
    where("name = ?", "#{name}").where("admin = ?", "#{admin}") 
  }
end

こんな感じでwhere文をくっつける事もできるのだー

しかも…
@user = User.search(params[:name], nil)

引数がnilでもそのまま書けるΣ(゚Д゚;

Railsなしでは生きて行けませんwww

0 件のコメント:

コメントを投稿