【发布时间】:2015-07-23 22:22:15
【问题描述】:
当我使用 Rails 控制台时,我可以输入:
Paper.new(name: "deva", body: "testing")
Paper.create(name: "deva", body: "testing")
这似乎是相同的结果。 .new 和 .create 到底有什么区别?
【问题讨论】:
标签: ruby-on-rails
当我使用 Rails 控制台时,我可以输入:
Paper.new(name: "deva", body: "testing")
Paper.create(name: "deva", body: "testing")
这似乎是相同的结果。 .new 和 .create 到底有什么区别?
【问题讨论】:
标签: ruby-on-rails
aa = Paper.new(名称:“deva”,正文:“测试”) 在上述情况下,您必须执行 .save ,如果是有效数据,它只会为该记录生成 id,否则它会回滚并且不存储在数据库中。
您还可以在此处添加更多数据表中的字段,例如 aa.contact_no = "1234" aa.保存
Paper.create(name: "deva",body: "testing") 在这种情况下,它将尝试同时创建记录并通过验证。
【讨论】:
new只初始化对象,不将对象存入数据库
create 初始化并在满足所有验证时保存它。
如需帮助,请参阅:http://apidock.com/rails/ActiveRecord/Base/create/class
【讨论】:
.save 才能保存它。