在哪里可以找到有关rails中使用的“save”方法的详细信息?

时间:2010-11-04 14:26:45

标签: ruby-on-rails ruby

我不确定这是一个rails方法还是一个ruby方法,但我正在寻找有关调用@ object.save时会发生什么的详细信息。

1 个答案:

答案 0 :(得分:5)

http://api.rubyonrails.org/classes/ActiveRecord/Persistence.html#method-i-save

  • saveActiveRecord::Persistence模块中定义的Rails方法。它保存了模型。如果模型是新的,则会在数据库中创建记录,否则现有记录会更新。

  • 默认情况下,save始终运行验证。如果其中任何一个失败,则取消操作并且save返回false。但是,如果您提供:validate => false,则会完全绕过验证。

  • 有一系列与save方法相关的回调。如果任何before_*回调返回false,则操作将被取消,save将返回false。

  • save!(bang)方法始终运行验证,但在验证失败时引发ActiveRecord::RecordInvalid异常。