나는 ransack 술어를 사용하여 쿼리를 작성하기 때문에 WHERE 절에 SQL을 많이 사용해야한다는 것을 의미합니다. 여기에 내가 ransanck의 search
방법에 대한 조건의 해시로이 작업은 다음과 같습니다렁을 사용하여 어디에서 더 많은 필드를 포함시킬 수 있습니까?
이 params[:q]
{"price_gteq"=>"0", "rooms_gteq"=>"1", "baths_gteq"=>"1", "has_photos_true"=>"0", "zone_id"=>"1", "deal_type_eq"=>"1", "s"=>{"0"=>{"name"=>"price", "dir"=>"asc"}}, "price_lteq"=>"2500000", "rooms_lteq"=>"2", "baths_lteq"=>"7", "sector_id_in"=>nil}
의 콘솔 출력은 그리고 이것은이 생성하는 SQL 쿼리입니다 :
Property.search(params[:q]).result.to_sql
제공 :
SELECT "properties".* FROM "properties" LEFT OUTER JOIN "sectors" ON "sectors"."id" = "properties"."sector_id" WHERE (("properties"."price" >= 0.0 AND "properties"."price" <= 2500000.0)) ORDER BY "properties"."price" ASC
where
절 안에있는 필드는 무엇입니까?
위에서 볼 수 있듯이 :price
필드는 where
절 안에 있습니다. where
절에도 :baths
및 :rooms
이 포함되어야합니다.
어떻게 해결할 수 있습니까?