Module: Mongoid::NestedAttributes::ClassMethods
- Defined in:
- lib/mongoid/nested_attributes.rb
Constant Summary collapse
- REJECT_ALL_BLANK_PROC =
->(attributes){ attributes.all? { |key, value| key == '_destroy' || value.blank? } }
Instance Method Summary collapse
-
#accepts_nested_attributes_for(*args) ⇒ Object
Used when needing to update related models from a parent relation.
Instance Method Details
#accepts_nested_attributes_for(*args) ⇒ Object
Used when needing to update related models from a parent relation. Can be used on embedded or referenced relations.
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/mongoid/nested_attributes.rb', line 42 def accepts_nested_attributes_for(*args) = args. [:reject_if] = REJECT_ALL_BLANK_PROC if [:reject_if] == :all_blank args.each do |name| meth = "#{name}_attributes=" self.nested_attributes["#{name}_attributes"] = meth = relations[name.to_s] raise Errors::NestedAttributesMetadataNotFound.new(self, name) unless autosave_nested_attributes() re_define_method(meth) do |attrs| _assigning do .nested_builder(attrs, ).build(self, ) end end end end |