diff --git a/lib/active_model/serializer.rb b/lib/active_model/serializer.rb index 7a6ee7ca..3e31a792 100644 --- a/lib/active_model/serializer.rb +++ b/lib/active_model/serializer.rb @@ -161,7 +161,7 @@ end end end - def associations + def associations(options={}) associations = self.class._associations included_associations = filter(associations.keys) associations.each_with_object({}) do |(name, association), hash| @@ -178,7 +178,7 @@ end if association.embed_namespace? hash = hash[association.embed_namespace] ||= {} end - hash[association.embedded_key] = serialize association + hash[association.embedded_key] = serialize association, options end end end @@ -236,8 +236,8 @@ end end end - def serialize(association) - build_serializer(association).serializable_object + def serialize(association,options={}) + build_serializer(association).serializable_object(options) end def serialize_ids(association) @@ -282,7 +282,7 @@ end self.serialization_options = options return @wrap_in_array ? [] : nil if @object.nil? hash = attributes - hash.merge! associations + hash.merge! associations(options) hash = convert_keys(hash) if key_format.present? hash = { :type => type_name(@object), type_name(@object) => hash } if @polymorphic @wrap_in_array ? [hash] : hash