Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails控制台:使用现有记录创建新记录_Ruby On Rails_Rails Console - Fatal编程技术网

Ruby on 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

最近,我不得不在一个非rails应用程序数据库表中根据以前的记录创建两条记录。这让我想到了如何在rails应用程序中实现这一点。我在控制台上试了几次,但都没用

我想这样做:

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。编辑