我正在学习Rails阅读迈克尔哈特尔的网页(顺便说一下,这是一个很棒的资源),他说"创建"用户模型控制器的方法创建用户和" new"方法让用户。
好吧......在基本的用户模型和Rails的上下文中,"创建"之间真正区别的是什么?和"制作"?
提前感谢您的任何反馈!
答案 0 :(得分:1)
使用create方法使用户具有给定参数并将其直接保存到数据库中,而使用new会使新用户在内存中可以修改但必须通过调用@ user.save手动保存到数据库中
示例在rails控制台中尝试此操作
User.create(name: "User 1", email: "example@example.com")
现在输入User.all
,您就会找到您在数据库中创建的用户。
现在尝试
a = User.new(name: User 2", email: "example2@example.com")
现在输入User.all
将不会显示此新用户。您必须a.save
才能将其保存到数据库中。
答案 1 :(得分:0)
将其视为内存与硬盘驱动器。 User.new()
将新用户记录添加到内存中(但不将其保存到数据库中),而User.create()
将记录保存到数据库中。
您可以执行user = User.new(); user.save;
,这相当于User.create()