ruby-on-rails – 根据现有的activerecord对象保存一个新行,将id设置为nil不起作用

ruby-on-rails – 根据现有的activerecord对象保存一个新行,将id设置为nil不起作用,第1张

概述我想保存2行,第2行基于第1行: user = User.new(....)user.save!user.id = niluser.name = "different name"user.save! 这不会创建第二行,我该怎么办? 问题是Rails认为您正在尝试更改已保存到数据库的实例,而不是创建新实例.你想要做的是克隆原始记录,它应该工作.这是 Rails docs on using 我想保存2行,第2行基于第1行:

user = User.new(....)user.save!user.ID = niluser.name = "different name"user.save!

这不会创建第二行,我该怎么办?

解决方法 问题是Rails认为您正在尝试更改已保存到数据库的实例,而不是创建新实例.你想要做的是克隆原始记录,它应该工作.这是 Rails docs on using clone.

# First instanceuser = User.create(...params...)# New instance (no need to set ID = nil)user2 = user.cloneuser2.name = "different name"user2.save!
总结

以上是内存溢出为你收集整理的ruby-on-rails – 根据现有的activerecord对象保存一个新行,将id设置为nil不起作用全部内容,希望文章能够帮你解决ruby-on-rails – 根据现有的activerecord对象保存一个新行,将id设置为nil不起作用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1278078.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-09
下一篇2022-06-09

发表评论

登录后才能评论

评论列表(0条)

    保存