如何解决Rails在范围表中找到一个特定的条目
| 刚接触Rails。...仍在尝试掌握所有“方法” 表称为历史记录。 @compa = History.scoped(:limit => 10,:conditions => {:name => \"IBM\"},:order => \"closedate ASC\")
现在,我想查找表的@compa子集是否包含条目,其中closedate =特定日期。我尝试了各种方法,但是似乎没有任何效果。
例:
if (@compa.has_value?(tmp))
不起作用。
我应该处理子集,还是回到表中并创建新的作用域?我该如何处理子集...我肯定缺少一些东西。解决方法
因此,您需要以下内容:
if(@compa.include?(tmp))
要查看@compa是否具有值tmp
。
但是,“ 4”包含非封闭属性。因此,您需要:
@compa.find{|o| o[\'closedate\'] == tmp}
如果不包含该值,则将返回nil,否则将返回具有closedate
等于tmp
的对象。
但是,为什么不使用SQL来处理此问题呢?
由于ѭ4是ActiveRecord关系(因为您称为作用域),因此您可以通过执行以下操作来查询更多内容:
@compa.where(:closedate => tmp).exists?
链接:
数组#包含
可枚举
存在吗?版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。