所以我最近看到人们越来越多地在 Controller 中使用 .build
、.create
和 .create!
。与仅使用 .new
并传递参数对象然后传递 .save
有什么区别?有优点和缺点吗?使用这些其他方法有好处吗?
最佳答案
有一些差异,但差异不大:
.create
相当于.new
后跟.save
。只是更简洁而已。.create!
相当于.new
后跟.save!
(如果保存失败则抛出错误)。它也只是短了一点- 我认为
.build
主要是.new
的别名。它works one way in Rails 3以及 Rails <3.x 中的另一种方式
然而,最重要的部分是可以通过关联(has_many
等)调用这些方法来自动链接两个模型。
关于ruby-on-rails - .build、.create 和 .create 之间的区别!以及什么时候应该使用它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/403671/