Make embed nil ids work

This commit is contained in:
Santiago Pastorino 2013-09-16 12:40:49 -03:00
parent cad8fafa60
commit dbf512c14c
2 changed files with 13 additions and 1 deletions

View File

@ -161,7 +161,7 @@ module ActiveModel
if associated_data.respond_to?(:to_ary)
associated_data.map { |elem| elem.send(association.embed_key) }
else
associated_data.send(association.embed_key)
associated_data.send(association.embed_key) if associated_data
end
end

View File

@ -54,6 +54,18 @@ module ActiveModel
}, @user_serializer.as_json)
end
def test_associations_embedding_nil_ids_serialization_using_as_json
@user.instance_eval do
def profile
nil
end
end
assert_equal({
'user' => { name: 'Name 1', email: 'mail@server.com', 'profile_id' => nil }
}, @user_serializer.as_json)
end
def test_associations_embedding_nil_objects_serialization_using_as_json
@association.embed = :objects
@user.instance_eval do