diff --git a/lib/active_model/serializer/lazy_association.rb b/lib/active_model/serializer/lazy_association.rb index 8c4dad61..f4d991bb 100644 --- a/lib/active_model/serializer/lazy_association.rb +++ b/lib/active_model/serializer/lazy_association.rb @@ -62,7 +62,7 @@ module ActiveModel # # Should be reflection_options[:virtual_value] or adapter needs to figure out what to do # with an object that is non-nil and has no defined serializer. - cached_result[:virtual_value] = object.try(:as_json) || object + cached_result[:virtual_value] = object else cached_result[:serializer] = serializer end diff --git a/test/adapter/json_api/has_many_test.rb b/test/adapter/json_api/has_many_test.rb index a9fa9ac9..d9d2ebdc 100644 --- a/test/adapter/json_api/has_many_test.rb +++ b/test/adapter/json_api/has_many_test.rb @@ -145,7 +145,7 @@ module ActiveModelSerializers id: '1', type: 'posts', relationships: { - tags: { data: [@tag.as_json] } + tags: { data: [@tag.as_json] } # invalid jsonapi } } }, adapter.serializable_hash) diff --git a/test/adapter/json_api/include_data_if_sideloaded_test.rb b/test/adapter/json_api/include_data_if_sideloaded_test.rb index 059ed41b..4f6033ca 100644 --- a/test/adapter/json_api/include_data_if_sideloaded_test.rb +++ b/test/adapter/json_api/include_data_if_sideloaded_test.rb @@ -11,6 +11,7 @@ module ActiveModel class CustomCommentLoader def all + # array of hash... shouldn't allow this to be passed through [{ foo: 'bar' }] end end @@ -175,6 +176,7 @@ module ActiveModel assert_relationship(:locations, expected) end + # invalid jsonapi... def test_block_relationship expected = { data: [