2016-04-25 32 views
1

如何編寫價格小於或等於價格小於或等於紅寶石範圍的活動記錄。如何使用範圍編寫活動記錄

我試過這樣。

scope :price, -> (price_lteq_or_price_gteq) { where("price_paisas >= ? or price_paisas <= ?", price_lteq_or_price_gteq, price_lteq_or_price_gteq)} 

控制器

def index 
    @properties = Property.where(:status=>'1') 
    @properties = @properties.status(params[:status]) if params[:status].present? 
    @properties = @properties.price(params[:price_lteq]) if params[:price_lteq].present? 
    @properties = @properties.price(params[:price_gteq]) if params[:price_gteq].present? 
end 

當我試圖這樣的,我有這樣的查詢

SELECT `properties`.* FROM `properties` WHERE `properties`.`status` = '1' AND (price_paisas >= '000' or price_paisas <= '000') AND (price_paisas >= '49900' or price_paisas <= '49900') 

`

我需要的是這樣的

活動記錄
SELECT `properties`.* FROM `properties` WHERE `properties`.`status` = '1' AND (price_paisas >= '000' and price_paisas <='49900') 

如何做。 請幫忙。任何幫助是可觀的。

回答

1

嘗試此

範圍:

price_gteq = 0,price_lteq = 49900

scope :price, -> (price_lteq, price_gteq) { where("price_paisas >= ? or price_paisas <= ?", price_gteq, price_lteq)} 

控制器:

def index 
@properties = Property.where(:status=>'1') 
@properties = @properties.status(params[:status]) if params[:status].present? 
@properties = @properties.price(params[:price_lteq],params[:price_gteq]) if params[:price_lteq] && params[:price_gteq] 
end 
+0

感謝點亮:) – SreRoR

+0

現在工作正常:) – SreRoR