find_by_sqlの名前付きプレースホルダ

find_by_sqlのときは

sql = "select * from hoge where fuga = ? and moge = ?"
fuga = 1
moge = 2
Hoge.find_by_sql([sql, fuga, moge])

プレースホルダに名前をつけたいとき

cond = Hash.new
sql = "select * from hoge where fuga = :fuga and moge = :moge"
cond[:fuga] = 1
cond[:moge] = 2
Hoge.find_by_sql([sql, cond])

でもおk

動的にSQLを組み立てるときとかは、こっちの方が可読性高いかも〜