From eba84637e8ccfaf372530c79cd0a26b3f3708d02 Mon Sep 17 00:00:00 2001 From: Will Bryant Date: Thu, 21 Apr 2016 08:24:25 -0700 Subject: [PATCH] bug fix removing the assumption that primary key and sti column are the defaults --- lib/jsonapi/resource_serializer.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/jsonapi/resource_serializer.rb b/lib/jsonapi/resource_serializer.rb index 421259b8d..8f58c073e 100644 --- a/lib/jsonapi/resource_serializer.rb +++ b/lib/jsonapi/resource_serializer.rb @@ -306,7 +306,10 @@ def foreign_key_value(source, relationship) def foreign_key_types_and_values(source, relationship) if relationship.is_a?(JSONAPI::Relationship::ToMany) if relationship.polymorphic? - source._model.public_send(relationship.name).pluck(:type, :id).map do |type, id| + relationship_model = relationship.options[:class_name].constantize + type_key = relationship_model.inheritance_column + id_key = relationship_model.primary_key + source._model.public_send(relationship.name).pluck(type_key.to_sym, id_key.to_sym).map do |type, id| [type.underscore.pluralize, IdValueFormatter.format(id)] end else