Sequel gem 有一个save
“创建或更新记录”的方法。我正在尝试使用它来创建新记录,当不存在时,或更新现有记录的字段:
record = Records.where(:name => 'Dark Side of the Moon').first
record.save(:artist => "Pink Floyd")
这失败了,因为Records.where(:name => 'Dark Side of the Moon')
返回 nil,而不是一个空的 Record 对象。本质上,我将此方法用作upsert
,但它不能以这种方式工作,因为该save
方法是模型实例方法。
我的问题是双重的:(1)正确的使用方式是什么save
,以及(2)Sequel 是否有“更新”记录的方式?