ruby-on-rails - 事件记录查询忽略零值

标签 ruby-on-rails ruby

使用下面的代码等方法进行查询。如何忽略 nil 值?例如:如果方法 date 返回 nil 我希望查询仅使用 array_onearray_to

def array_one 
 ...
end 

def array_two 
 ...
end

def date 
 ...
end

Record.where(array_one: array_one, array_two: array_two, date: date)



最佳答案

您可以将查询链接在一起(这称为延迟加载)。在调用查询的第一件事之前,它们实际上不会被执行。这允许您“构建”查询

query = Record.where(array_one: array_one, array_two: array_two)
query = query.where(date: date) if date.present?

query.each do |row| # now the query is executed
  # do stuff
end

关于ruby-on-rails - 事件记录查询忽略零值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57761623/

相关文章:

ruby-on-rails - 选择哪个亚马逊机器镜像 - Ruby on Rails

ruby-on-rails - Rails 转义了可以通过电子邮件客户端(Gmail、Outlook)自动链接的内容

ruby Enumerable#first vs #take

Ruby gsub 匹配串联

jquery - 如何阻止远程表单提交?

ruby-on-rails - Dokku 环境变量

ruby-on-rails - Rails:验证has_many关联中parent_id的存在

ruby-on-rails - 我应该在哪里使用 Devise + RSpec 进行经过身份验证的路由测试?

ruby - 在 Ruby 中, `Float(...)` 记录在哪里?

ruby - Mongoid:从父级上的嵌入式文档运行回调