0
我正在重寫查詢以提高可讀性。原來,這一切都是在同一行:Rails ActiveRecord查詢語法問題 - 不返回任何記錄
@properties = Listing.where(website_approved__c: 'true').where(status__c: 'Active').where("sales_price__c >= ?", @pricemin).where("sales_price__c <= ?", @pricemax).where(bedrooms__c: @beds).where(baths__c: @baths).where("lower(city__c) LIKE (?)", "%" + @city.downcase + "%").where("zip_code__c LIKE (?)", "%" + @zip + "%").page(params[:page]).per(4)
我想多行拆分這一點,我也跟着上分裂Ruby代碼分成多行過去StackOverflow的答案:Ruby code beautification, split long instructions on multiple lines
這是我寫的:
@properties = Listing.where(website_approved__c: 'true', status__c: 'Active', bedrooms__c: @beds, baths__c: @baths).
where([ "sales_price__c >= ? AND sales_price__c <= ?", @pricemin, @pricemax]).
where(["lower(city__c) LIKE (?) AND zip_code__c LIKE (?)", "%"[email protected]+"%", "%"[email protected]+"%"]).
page(params[:page]).per(4)
但是,新的查詢將永遠不會返回任何內容。我保持WHERE子句相同,這就是爲什麼我想知道這是否是一個語法問題。任何人都可以點亮一下嗎?
我目前正在運行Rails v4.2.1。
如果追加'.to_sql'到的每個版本這個查詢,你看到了什麼?查詢如何不同? –
第二個查詢還包含'where'條件:'listing_agent__c:@ userId',它不存在於第一個查詢中... – BoraMa
同樣對於一般的美化,有幾個很好的理由可以限制每行80個字符。這不僅僅是代碼的外觀 - 這種紀律是一位好老師。它會照亮你的代碼太複雜,嵌套過深的地方,等等。 –