模块:Mongoid::Persistable::Savable

包含在:
Mongoid::Persistable
定义于:
lib/mongoid/persistable/savable.rb

Overview

定义保存文档的持久性操作的行为。

实例方法摘要折叠

实例方法详细信息

# save (options = {}) ⇒ true | false

保存文档— 如果文档是新的,则执行插入;如果不是新的,则执行更新。

例子:

保存文档。

document.save

参数:

  • 选项 哈希 (默认为: {}

    要传递给保存的选项。

选项哈希 ( options ):

  • :touch ( true | false )

    updated_at 属性是否随当前时间进行更新。 如果此选项为 false,则不会修改任何嵌入式文档。 保存新文档时,此选项被忽略,且 created_at 和 updated_at 将设立为当前时间。

返回:

  • ( true | false )

    如果成功则为 True,否则为 false。



25
26
27
28
29
30
31
# File 'lib/mongoid/persistable/savable.rb', line 25

def 保存(选项 = {})
  if new_record?
    !insert(选项).new_record?
  else
    update_document(选项)
  end
end

# save! (options = {}) ⇒ true | false

保存文档— 如果文档是新的,则执行插入;如果不是新的,则执行更新。 如果发生验证错误,则会引发错误。

例子:

保存文档。

document.save!

参数:

  • 选项 哈希 (默认为: {}

    要传递给保存的选项。

选项哈希 ( options ):

  • :touch ( true | false )

    updated_at 属性是否随当前时间进行更新。 当此选项为 false 时,不会触及任何嵌入式文档。保存新文档时将忽略此选项,并且 created_at 和 updated_at 将设置为当前时间。

返回:

  • ( true | false )

    如果验证通过,则为 true。

引发:



51
52
53
54
55
56
57
# File 'lib/mongoid/persistable/savable.rb', line 51

def save!(选项 = {})
  除非 保存(选项)
    fail_due_to_validation! 除非 errors.空?
    fail_due_to_callback!(:save!)
  end
  true
end