Ruby on rails Rails控制台:使用现有记录创建新记录
最近,我不得不在一个非rails应用程序数据库表中根据以前的记录创建两条记录。这让我想到了如何在rails应用程序中实现这一点。我在控制台上试了几次,但都没用 我想这样做:Ruby on rails Rails控制台:使用现有记录创建新记录,ruby-on-rails,rails-console,Ruby On Rails,Rails Console,最近,我不得不在一个非rails应用程序数据库表中根据以前的记录创建两条记录。这让我想到了如何在rails应用程序中实现这一点。我在控制台上试了几次,但都没用 我想这样做: 001>user=user.new(user.first) 我知道这不管用,但希望它能告诉你我的想法User是一个大表/模型,我只需要更改几个字段。因此,如果我可以在用户中使用相同的值设置一个新的记录。首先,我可以在保存记录之前编辑需要编辑的字段 谢谢您的帮助。我想您需要的是: user = User.first.dup u
001>user=user.new(user.first)
我知道这不管用,但希望它能告诉你我的想法User
是一个大表/模型,我只需要更改几个字段。因此,如果我可以在用户中使用相同的值设置一个新的
记录。首先
,我可以在保存记录之前编辑需要编辑的字段
谢谢您的帮助。我想您需要的是:
user = User.first.dup
user.assign_attributes(email: "myemail@test.test")
user.save
第一行使用dup
创建对象的副本。副本尚未保存到数据库中
第三行最后将新对象保存到数据库中。最后只做一次就可以节省时间。回答得好,不过我认为你的第一行应该是user=user.first.dup
谢谢你的回复。我从来没有想过搜索单词dup
或复制。效果很好。非常感谢。是的,我是说用户优先。谢谢Adam21e。编辑