我有这个rake任务
Event.find_or_create_by(
time: row[9],
date: row[10],
event_type: word1,
eventimage: row[4],
eventname: eventname,
eventvenuename: location,
event: eventname,
eventlink1: eventlink1,
eventlink2: eventlink2
)
现在eventlink1
可能会在第一次eventlink2
null
eventlink2
时输入login
。如果我再次运行它并且submit
现在要填充数据,它会创建一个新行,而不是更新现有行。
如何更新现有行而不是创建新行?
答案 0 :(得分:0)
document.getElementsByTagName("u_firstname");
如果找不到与您提供的字段匹配的新行,则会创建一个新行,当您提供find_or_create_by
值时,会将其转换为SQL {{1}所以第二次它找不到完全匹配。
您应该将该命令分解为单独的nil
查询和WHERE eventlink2 IS NULL
命令。
如果要匹配数据库中具有find_by
值的字段,可以在查询中包含create
:
NULL