From 08b22df632efb34f9e4a9b74cf97f4f80a119867 Mon Sep 17 00:00:00 2001 From: Campbell Allen Date: Tue, 15 Jul 2014 17:17:11 +0100 Subject: [PATCH] allow polymorphic belongs_to relation to specify a unique id --- lib/restpack_serializer/serializable.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/restpack_serializer/serializable.rb b/lib/restpack_serializer/serializable.rb index f798aba..3d3042c 100644 --- a/lib/restpack_serializer/serializable.rb +++ b/lib/restpack_serializer/serializable.rb @@ -67,7 +67,11 @@ def add_links(model, data) self.class.associations.each do |association| if association.macro == :belongs_to data[:links] ||= {} - foreign_key_value = model.send(association.foreign_key) + foreign_key_value = if association.polymorphic? + model.send(association.name).to_param + else + model.send(association.foreign_key) + end if foreign_key_value data[:links][association.name.to_sym] = foreign_key_value.to_s end