私は単純なWebフォームを作成しました。ここでユーザーは会場を探すための検索条件を入力できます。価格帯。ユーザーが「検索」をクリックすると、アクティブなレコードを使用してデータベースを照会します。 1つ以上のフィールドが開いたままになっているために値がNULLの場合に問題が発生します。アクティブなレコードでnullのパラメータを無視するRails 4
コントローラでこれを回避するにはどうすればよいですか?最初に値がnullであるかどうかをチェックし、それに基づいてクエリを作成する必要がありますか?私は多くの異なるクエリと多くのコードで終わると想像することができます。これを達成するためのより速い方法が必要でしょうか?
コントローラー:
def search
@venues = Venue.where("price >= ? AND price <= ? AND romance = ? AND firstdate = ?", params[:minPrice], params[:maxPrice], params[:romance], params[:firstdate])
end
これは正解であり、受け入れられる回答である必要があります。受け入れられた答えはSQLインジェクションに対して脆弱です。 –