Method deprecated or moved
This method is deprecated or moved on the latest stable version.
The last existing version (v3.1.0) is shown here.
add_associations(association, records, opts)
public
TODO This can likely be cleaned up to simple use
ActiveSupport::XmlMini.to_tag as well.
# File activerecord/lib/active_record/serializers/xml_serializer.rb, line 198
def add_associations(association, records, opts)
association_name = association.to_s.singularize
merged_options = options.merge(opts).merge!(:root => association_name, :skip_instruct => true)
if records.is_a?(Enumerable)
tag = ActiveSupport::XmlMini.rename_key(association.to_s, options)
type = options[:skip_types] ? { } : {:type => "array"}
if records.empty?
@builder.tag!(tag, type)
else
@builder.tag!(tag, type) do
records.each do |record|
if options[:skip_types]
record_type = {}
else
record_class = (record.class.to_s.underscore == association_name) ? nil : record.class.name
record_type = {:type => record_class}
end
record.to_xml merged_options.merge(record_type)
end
end
end
elsif record = @serializable.send(association)
record.to_xml(merged_options)
end
end