我不确定这是一个rails方法还是一个ruby方法,但我正在寻找有关调用@ object.save时会发生什么的详细信息。
答案 0 :(得分:5)
http://api.rubyonrails.org/classes/ActiveRecord/Persistence.html#method-i-save
save
是ActiveRecord::Persistence
模块中定义的Rails方法。它保存了模型。如果模型是新的,则会在数据库中创建记录,否则现有记录会更新。
默认情况下,save
始终运行验证。如果其中任何一个失败,则取消操作并且save
返回false。但是,如果您提供:validate => false
,则会完全绕过验证。
有一系列与save
方法相关的回调。如果任何before_*
回调返回false,则操作将被取消,save
将返回false。
save!
(bang)方法始终运行验证,但在验证失败时引发ActiveRecord::RecordInvalid
异常。