在data_mapper中,如果记录不存在,更新记录或创建新记录的最佳方法是什么?

时间:2015-01-09 17:11:18

标签: ruby database sinatra ruby-datamapper

我在自己的sinatra项目中使用data_mapper。

那么,如果记录不存在,更新记录或创建具有初始值的新记录的最佳方法是什么?

例如,我有一个像

这样的模型
class Model
  include DataMapper::Resource
  property :id, Serial
  property :count, Integer
end

有没有办法可以检查模型是否存在,然后增加计数(如果存在)或创建新模型并将计数设置为0

THX

1 个答案:

答案 0 :(得分:0)

这应该有效:

model = Model.first
if model
  model.update(count: model.count + 1)
else
  model = Model.create(count: 0)
end