新的铁路......仍在努力掌握所有“方法”
表称为历史。
@compa = History.scoped(:limit => 10,:conditions => {:name => "IBM"}, :order => "closedate ASC")
现在我想查找表的@compa子集是否包含closedate =特定日期的条目。我尝试过各种各样的方法,但似乎没什么用。
示例:
if (@compa.has_value?(tmp))
不起作用。
我应该在子集中工作,还是回到表中并做一个新的范围?我怎么能在子集中工作...我很遗憾我不确定。
答案 0 :(得分:2)
所以你会想要这样的东西:
if(@compa.include?(tmp))
查看@compa是否具有值tmp
。
但是@compa
包含非封闭的属性。所以你想要:
@compa.find{|o| o['closedate'] == tmp}
如果它不包含该值,则返回nil,否则返回closedate
等于tmp
的对象。
但是为什么不使用SQL来处理这个问题:
由于@compa
是一个ActiveRecord关系(因为你调用了scoped),你可以通过执行以下操作来查询它:
@compa.where(:closedate => tmp).exists?
链接: