ARのwhere区を簡単に扱えるようになる「Ez-Where2」に触れてみた
RailsのActiveRecordで、Where区が複雑になるのはよくあることです。特に検索機能などで、指定された条件によってwhere区を用意するときはコードが汚くなりがちです。
そんなときに使えるのが「Ez-Where2」。超簡単にwhere区が構築できちゃいます。
インストール。
./script/plugin install http://opensvn.csie.org/ezra/rails/ez_where_two/
使い方。
cond = Caboose::EZ::Condition.new
cond += cc(:users) {name == params[:user_name]}
cond += cc(:mobile) {signature == params[:mobile_id]}
ccというメソッドがwhere区を構築する。このわかりにくいメソッド名だけはいただけないけど。includeやjoinを使っていてテーブル名の指定が必要なときは最初にそのテーブル名をシンボルで指定してあげて、続くブロックでwhere区の条件を書く。+ でつなげればAND条件になり、 | でつなげればORになります。詳しくはREADMEを参照。他にもいろいろ便利そうなメソッドが用意されています。 |