blog.sowatchasayin

Rails etc.

一度にいろんな条件でFindしたい

パラメータからFindの条件を作る部分をまとめたかった。
普通の条件なら
cond[:パラメータ] = params[:パラメータ]
でぽんぽん追加してあげればいいんだけど、配列でやりたい条件もあった。
そんな時はこれ。

ActiveRecord Query Building with Multiple and Optional Conditions

こんな感じでやりました。案外簡単にできるもんですね。


def create_cond_from_params(params)

cond = []
args = {}

#p1は指定したい
if !params[:p1].blank?
cond << "p1 = :p1"
args[:p1] = params[:p1]
end

# p2、あるかな?
if params[:p2]
cond << 'p2 IS NOT NULL'
end

return [] if cond.blank?

[cond.join(" AND "), args]

end

ぽりぽり

Polymorphic Relationships => Rails Wiki

結構簡単にできる。べんり~
でもこういうときはインターフェースが欲しいっす。それっぽいことは出来るんだろうけど。。

追記
できた。Polymorphicにくっつけたクラスのゲッターで、それを拡張してあげればOK。aliasとclass << くっつけたクラス で。
しかし、何かイボーな気配がする。

Vimでコメントアウト

毎回忘れる。

viでコメントアウトする方法

ついでにGVimなのでタブを使ってみた。
vim 7.0 の新機能
すっばらしー

:tabe → :E とするとvimから出ないで色々開けるので便利。

Author

Fujimura Daisuke
http://fujimuradaisuke.com

Labels