【发布时间】:2018-08-11 20:57:57
【问题描述】:
具体来说,一条记录拥有并属于许多用户,用户可以创建记录,或者如果记录已经存在,则将自己添加到记录拥有的用户中。
【问题讨论】:
-
这可能是同一个问题,但答案只说明了如何创建或查找记录,而不是如何创建或编辑记录。
标签: ruby-on-rails
具体来说,一条记录拥有并属于许多用户,用户可以创建记录,或者如果记录已经存在,则将自己添加到记录拥有的用户中。
【问题讨论】:
标签: ruby-on-rails
在User模型中定义了这两种方法:
def self.update_or_create(attributes)
assign_or_initialize(attributes).save
end
def self.assign_or_initialize(attributes)
obj = first || new
obj.assign_attributes(attributes)
obj
end
然后你可以像这样使用它:
User.where(email: "test@example.com").update_or_create(name: "abc")
【讨论】: