0

私はこのコードを持っています:

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()...) をチェーンすることもできますが、どうすればifs を維持できますか?

クエリをトリガーしないように ActiveRecord に指示する方法はありますか?

4

1 に答える 1