所以我一直看到人们使用.build,.create, 和.create!最近越来越多地在他们的控制器内。.new并传递参数对象,然后.save

答案

有一些差异,但差异不大:

  1. .create相当于.new其次是.save
  2. .create!相当于.new其次是.save!(如果保存失败则抛出错误)。
  3. 我认为.build大多 的别名.newRails 3 中以一种方式工作以及 Rails < 3.x 中的另一种方式

然而,最重要的部分是这些方法可以通过关联来调用(has_many等)来自动链接两个模型。

来自: stackoverflow.com