我有一个MyModel
带有返回特定记录的方法的模型(请参见下面的逻辑)。
def self.find_future_rec #note2
rec = find(rand(MyModel.count)+1) #note1
while rec.nil? | (rec.expdate<Date.today)
rec = find(rand(MyModel.count)+1)
end
return rec
end
每个类记录都有一个类MyModel
变量expdate
。Date
(我知道这是一种可怕的查找记录的方法,这更多是为了我自己的熏陶,也是一些测试代码。)
- 此方法将在找到合适的记录之前遍历几个不需要的记录,但返回的记录始终是在 找到的
note 1
记录,即查询的第一条记录。这里有一些懒惰的分配吗? - 我必须添加
self
atnote2
才能在静态上下文中调用该方法。这是正确的解释吗?