有没有办法检查今天是否已创建模型实例?
我想要它,因此每天只应创建一个模型实例,因此如果创建了一个新实例,则删除当天已创建的任何实例。
答案 0 :(得分:1)
直接查询数据库以仅检索今天的记录:
dt1 <- dt[Score1>10, .(V1= mean(Score1)), by = ID
][data.table(ID= unique(dt$ID)), on = "ID"][is.na(V1), V1 :=0][]
dt1
# ID V1
#1: 1 12.5
#2: 2 0.0
#3: 3 0.0
dt1[, mean(V1)]
#[1] 4.166667
你也可以在Ruby端处理它(如果你真的想要,但不推荐):
Model.where(created_at: Time.now.beginning_of_day..Time.now.end_of_day)
答案 1 :(得分:1)
您需要首先检查是否有任何今天创建的实例,如果有,请将它们全部销毁。之后,您可以创建新实例。
def destroy_todays
Model.where(created_at: Time.zone.now.beginning_of_day..Time.zone.now.end_of_day).destroy_all
end
def create_todays(attrs)
destroy_todays
Model.create(attrs)
end
因此,只要您想创建今天的实例,就可以保证您首先销毁今天创建的任何其他实例。