AR#or_where
Rails 3には次のようなものがありますか
User.where(cond1).or_where(cond2)
?
AR#or_where
Rails 3には次のようなものがありますか
User.where(cond1).or_where(cond2)
?
Railsにはそのような方法はありません。
WHERE 句で OR を実行する最も簡単な方法は、次のようにすることだと思います。
User.where("first_name = ? OR last_name = ?", params[:first_name], "Wilson")
Arel のメソッド (「or」メソッドがある) を学びたい場合は、https ://github.com/rails/arel#readme を参照してください。Arel と ActiveRecord を使用すると、次のように同じことができます。
User.where(User.arel_table[:first_name].eq(params[:first_name]).or(User.arel_table[:last_name].eq('Wilson')))
User.where(cond1) | User.where(cond2)
||を使用するだけで は ruby によって予約されています。
meta_whereを見ることができます。この gem を使用すると、SQL フラグメントにドロップすることなく、Ruby コードでより強力な ActiveRecord クエリ式を使用できます。
それらをそのように連鎖させたい場合は、アレルを少し掘り下げる必要があります。この同様のSOの質問を参照してください。