加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – DataMapper:创建新记录或更新现有记录

发布时间:2020-12-17 03:11:45 所属栏目:百科 来源:网络整理
导读:DataMapper是否提供了一种在不存在或更新现有记录时创建新记录的便捷方法?我在API文档中找不到任何内容. 这就是我目前看来并不优雅的东西: foo = Foo.get(id)if foo.nil? foo = Foo.create(#attributes...)else foo.update(#attributes...)endfoo.save 解
DataMapper是否提供了一种在不存在或更新现有记录时创建新记录的便捷方法?我在API文档中找不到任何内容.

这就是我目前看来并不优雅的东西:

foo = Foo.get(id)
if foo.nil?
  foo = Foo.create(#attributes...)
else
  foo.update(#attributes...)
end
foo.save

解决方法

Foo.first_or_create(:id=>id).update(attributes)

要么

(Foo.get(id) || Foo.new).update(attributes)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读