Rails ActiveRecord查询语法问题 - 不返回任何记录

时间:2016-05-09 18:54:34

标签: ruby-on-rails ruby 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)

我希望将其拆分为多行,然后我按照过去的StackOverflow回答将Ruby代码拆分为多行: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 (?)", "%"+@city.downcase+"%", "%"+@zip+"%"]).
    page(params[:page]).per(4)

但是,新查询永远不会返回任何内容。我保持WHERE子句相同,这就是为什么我想知道它是否是语法问题。任何人都能解释一下吗?

我目前正在运行Rails v4.2.1。

1 个答案:

答案 0 :(得分:0)

好像你已经解决了问题。

由于您的目标是提高可读性,我想介绍如何构建该查询(如果我不允许使用范围):

MimeMessageHelper.MULTIPART_MODE_MIXED_RELATED