【发布时间】:2012-10-19 20:42:52
【问题描述】:
我有一个旧用户对象和一个新用户对象。 我正在尝试创建一个新的用户对象,并希望将所有属性分配给旧用户对象并保持 id(主键)相同,而不在用户表中创建新行。
old_user = User.find(20)
old_user.id # this is 20
old_user.name # this displays "old_name"
new_user = User.new
new_user.name = "new_name"
old_user = new_user
old_user.save # this doesn't work since the new_user.id is nil and so is old_user.id is nil
old_user.id = 20 and save #this won't work either.
如何将 new_user 的状态保存到 old_user 对象但保持相同的主键 ID。
【问题讨论】:
-
为什么需要新建用户?不能只更新 old_user 的属性吗?
-
因为new_user有很多属性和关联,所以将new_user的状态保存到old_user而不是更新old_user是有意义的
-
有一个答案对我有帮助,但它被删除或被删除,是 V 的东西
标签: ruby ruby-on-rails-3 activerecord