def accepts_nested_attributes_for(*attributes)
        options = attributes.extract_options!

        attributes.each do |attribute|
          if nested_attribute_type(attribute).is_a?(Types::Base)
            options.reverse_merge!(allow_destroy: false, update_only: false)
            define_store_model_attr_accessors(attribute, options)
          else
            super(*attribute, options)
          end
        end
      end
Enables handling of nested StoreModel::Model attributes

@param associations [Array] list of associations and options to define attributes, for example:
accepts_nested_attributes_for [:suppliers, allow_destroy: true]

Alternatively, use the standard Rails syntax:

@param associations [Array] list of associations and attributes to define getters and setters.

@param options [Hash] options not supported by StoreModel will still be passed to ActiveRecord.

Supported options:
[:allow_destroy]
If true, destroys any members from the attributes hash with a
<tt>_destroy</tt> key and a value that evaluates to +true+
(e.g. 1, '1', true, or 'true'). This option is off by default.

[:reject_if]
Allows you to specify a Proc or a Symbol pointing to a method that
checks whether a record should be built for a certain attribute hash.
The hash is passed to the supplied Proc or the method and it should
return either true or false. Passing <tt>:all_blank</tt> instead of a Proc
will create a proc that will reject a record where all the attributes
are blank excluding any value for <tt>_destroy</tt>.

See https://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html#method-i-accepts_nested_attributes_for