【发布时间】:2013-07-05 08:11:29
【问题描述】:
我在这里搜索时发现了一些类似的问题,但是当我尝试在我找到的解决方案中添加 unless 时,事情开始出现问题......
这是我所拥有的:
控制器:
@metrics = Metric.where("current_ratio > ?", @screen.current_ratio_min) unless @screen.current_ratio_min.nil?
一旦我添加了另一个 .where 行(我需要添加很多行),
@metrics = Metric.where("current_ratio > ?", @screen.current_ratio_min) unless @screen.current_ratio_min.nil?
.where("current_ratio < ?", @screen.current_ratio_max) unless @screen.current_ratio_max.nil?
我收到一个错误:
undefined method `where' for false:FalseClass
我假设这是因为第一个除非正在结束我的查询。如何将除非仅应用于每个单独的条件?如果那是,事实上,问题:\
提前致谢!
【问题讨论】:
-
在相关部分,我发现stackoverflow.com/questions/9308820/… 解决了我的问题,我想......我想如果你不知道要搜索什么,那么很难找到你正在寻找的东西为!
标签: ruby-on-rails activerecord conditional-statements multiple-conditions