From 6f4f30cda6b4c11c6885e3a5d94469afbe77586b Mon Sep 17 00:00:00 2001 From: Gauthier Delacroix Date: Fri, 5 Sep 2014 18:46:08 +0200 Subject: [PATCH] Allow JSONAPI unsuffixed associations keys As shown here : https://github.com/json-api/json-api/blob/gh-pages/format/index.md#resource-relationships- --- lib/active_model/serializer/association/has_many.rb | 6 +++++- lib/active_model/serializer/association/has_one.rb | 5 ++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/active_model/serializer/association/has_many.rb b/lib/active_model/serializer/association/has_many.rb index d1b8d8eb..52d66d26 100644 --- a/lib/active_model/serializer/association/has_many.rb +++ b/lib/active_model/serializer/association/has_many.rb @@ -5,7 +5,11 @@ module ActiveModel def initialize(name, *args) super @root_key = @embedded_key - @key ||= "#{name.to_s.singularize}_ids" + @key ||= case CONFIG.default_key_type + when :name then name.to_s.pluralize + else "#{name.to_s.singularize}_ids" + end + end def serializer_class(object, _) diff --git a/lib/active_model/serializer/association/has_one.rb b/lib/active_model/serializer/association/has_one.rb index 3b9acddf..38c8b9bc 100644 --- a/lib/active_model/serializer/association/has_one.rb +++ b/lib/active_model/serializer/association/has_one.rb @@ -5,7 +5,10 @@ module ActiveModel def initialize(name, *args) super @root_key = @embedded_key.to_s.pluralize - @key ||= "#{name}_id" + @key ||= case CONFIG.default_key_type + when :name then name.to_s.singularize + else "#{name}_id" + end end def serializer_class(object, options = {})