2011-11-08 15 views
1

条件付きでクエリメソッドをActiveRecord :: Relationに追加する方法はありますか?ActiveRecord関係:クエリメソッドの追加

たとえば、私はユーザーを検索していますが、特定の条件下で検索に含まれたlast_nameのみでした。 ActiveRecord :: Relationオブジェクトにクエリを追加できますか?

i_want_to_search_for_last_names = true 
pending_relation = User.where(:first_name => "John") 
pending_relation << where(:last_name => "Doe") if i_want_to_search_for_last_names 
@users = pending_relation.all 

答えて

3

いくつかを除いて、コードはほぼ正しいです。ここで何ができるか(忘れないでください:あなたはActiveRelationを扱う):私として

i_want_to_search_for_last_names = true 
@users = User.where(:first_name => "John") 
@users = @users.where(:last_name => "Doe") if i_want_to_search_for_last_names 

- 私は私のプロジェクトでは、この技術を使用していました。それがあなたを助けることを願ってください。

+0

これは機能します!これは複数行の 'User.where(:first_name =>" John ")です。ここで(:last_name =>" Doe ")'です。あなたのアプローチは私に起こっているはずです:)脳の衝撃に感謝します。 – dhulihan

+0

あなたは歓迎です、私はいつも助けてうれしいです:) – bor1s

関連する問題