method

add_associations

Importance_0
v2.3.8 - Show latest stable - 0 notes - Class: ActiveRecord::XmlSerializer
add_associations(association, records, opts) public

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide source
# File activerecord/lib/active_record/serializers/xml_serializer.rb, line 231
    def add_associations(association, records, opts)
      if records.is_a?(Enumerable)
        tag = reformat_name(association.to_s)
        type = options[:skip_types] ? {} : {:type => "array"}

        if records.empty?
          builder.tag!(tag, type)
        else
          builder.tag!(tag, type) do
            association_name = association.to_s.singularize
            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 opts.merge(:root => association_name).merge(record_type)
            end
          end
        end
      else
        if record = @record.send(association)
          record.to_xml(opts.merge(:root => association))
        end
      end
    end
Register or log in to add new notes.