モジュール: Mongoid::関連付け::参照::AutoSave
- 次による拡張機能。
- ActiveSupport::Concern
- 次のドキュメントに含まれます。
- Mongoid::関連付け
- 定義:
- lib/mongoid/関連付け/referenced/auto_save.rb
Overview
Mongoid::Document に含まれる混合モジュールで、対象ドキュメントの保存時に参照された関連付け内の反対側のドキュメントを自動的に保存する機能が追加されます。
クラスメソッドの概要を折りたたむ
-
。定義_自動保存。 (関連付け) = クラス
関連付けられたオブジェクトの関連付けの所有クラスで、 オート保存 メソッドを定義します。
インスタンス メソッドの概要を折りたたむ
-
#__autosaving__ ⇒ Object
関連する 自動保存 を開始します。
-
自動保存の数= true | false
関連するオート保存における無限ループを防ぐために使用されます。
-
変更_自動保存? (doc) = ブール値
自動保存の変更があるかどうかを確認します。
クラスメソッドの詳細
。定義_自動保存。 (関連付け) =クラス
関連付けられたオブジェクトの関連付けの所有クラスで、 オート保存 メソッドを定義します。
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# ファイル 'lib/mongoid/関連付け/referenced/auto_save.rb' の場合、 53行 デフォルト 自己.define_autosave!(関連付け) 関連付け.逆_クラス.タップ 行う |klass| Save_method = :"autosave_documents_for_#{関連付け.name}。 klass.送信(:defined_method, Save_method) 行う 場合 以前_呼び出す_停止する必要があるかどうか 自己.Before_colback_hated = false else __autosaving__ 行う 場合 assoc_value = ivar(関連付け.name) 配列(assoc_value).各 行う |doc| pc = doc.properties ? doc.duration_context : duration_context.for_field(doc) doc.と共に(pc) 行う |d| d.保存 end end end end end end klass.after_persist_parent Save_method, ただし、 : 自動保存 end end |
インスタンス メソッドの詳細
#__autosaving__ ⇒ Object
関連する 自動保存 を開始します。
28 29 30 31 32 33 |
# ファイル 'lib/mongoid/関連付け/referenced/auto_save.rb' の場合、 28行 デフォルト __autosaving__ スレッド.begin_autosave(自己) ノードの数 保証する スレッド.exit_autosave(自己) end |
自動保存の数= true | false
関連するオート保存における無限ループを防ぐために使用されます。
20 21 22 |
# ファイル 'lib/mongoid/関連付け/referenced/auto_save.rb' の場合、 20行 デフォルト 自動保存 スレッド.自動保存(自己) end |
変更_自動保存? (doc) =ブール値
自動保存の変更を確認する
document.changed_for_autosave?
40 41 42 |
# ファイル 'lib/mongoid/関連付け/referenced/auto_save.rb' の場合、 40行 デフォルト Changed_for_autosave?(doc) doc.new_record? || doc.変更されたか || doc.Mark_for_destruction? end |