我正在遍历记录列表。我需要检查一下,如果记录是第一次做XYZ,如果没有做ABC。不幸的是我无法做到这一点:
user = User.first
或
user = User.find(:id)
user.first?
解决方案发布在
下面答案 0 :(得分:3)
def next
[Model].where("id > ?", id).first
end
def prev
[Model].where("id < ?", id).last
end
def first?(record)
[Model].first == record
end
records.each do |record|
if record.first?(record)
record.update_attributes(attr: record.attr + record.attr)
else
prev_rec = [Model].find(record.id).prev
record.update_attributes(attr: prev_rec.attr + record.attr )
end
end
true
或false
答案 1 :(得分:0)
我会确保[Model] .first是持久的,这样每次运行循环时它都不会调用数据库。