has_many
выполняется при инициализации класса, поэтому повторное выполнение не выполняется.
Вы можете сделать это во время выполнения
В SomeSerializer
создать метод...
class self.build_items_association(klass)
has_many :items, class: klass do
linkage always: true
end
end
Тогда вы бы сделали ...
SomeSerializer.build_items_association(ItemSerializer)
render jsonapi: some_obj,
class: SomeSerializer,
inculde: :items
Или ...
SomeSerializer.build_items_association(ItemSerializerII)
render jsonapi: some_obj,
class: SomeSerializer,
inculde: :items
Это работает с ванильной ActiveModel, у меня нетпопробовал это с вашим драгоценным камнем, но я думаю, это сработает.