私はこのコードを持っています:
def build_query(options)
query = User
query = query.where('first_condition')
query = query.where('second_condition')
query = query.where('items.category_id = ?', category) if (options[:category])
if options[:location]
query = query.where('users.location = ?', options[:location])
end
query = query.order('users.current_sign_in_at DESC')
query = query.limit(MAX_RESULTS)
return query
end
残念ながら、私が行うたびにリクエストがトリガーされますquery = query.where(...)
すべての where 句 ( where().where()...
) をチェーンすることもできますが、どうすればif
s を維持できますか?
クエリをトリガーしないように ActiveRecord に指示する方法はありますか?