所以我一直看到人们使用.build
,.create
, 和.create!
最近越来越多地在他们的控制器内。.new
并传递参数对象,然后.save
?
答案
有一些差异,但差异不大:
.create
相当于.new
其次是.save
。.create!
相当于.new
其次是.save!
(如果保存失败则抛出错误)。- 我认为
.build
是大多 的别名.new
。Rails 3 中以一种方式工作以及 Rails < 3.x 中的另一种方式
然而,最重要的部分是这些方法可以通过关联来调用(has_many
等)来自动链接两个模型。