У меня есть следующий класс ActiveModel::Serializer
class MyThingySerializer < ActiveModel::Serializer
root false
attributes :id, :name, :description
has_many :whatsits, embed_namespace: :_embedded
delegate :whatsits, to: :object
end
Он отлично работал под AMS 0.9.2, но для добавления необязательного атрибута с использованием механизма include_attributename?
мне сказали откатиться до AMS 0.8.
Теперь мой whatsits
не отображается в моем сериализованном выводе под атрибутом _embedded
.
Есть ли что-то особенное, что мне нужно сделать, чтобы вернуть встроенный whatsits
?
Обновить
Я попытался добавить в свой сериализатор следующий метод:
def whatsits
associated = self.class._associations[:whatsits]
associated.options[:root] = associated.options[:embed_namespace]
associated.options[:embed] = :objects
associated.options[:include] = true
object.whatsits
end
Надеялся, что Сериализатор выдаст список whatsits
под ключом _embedded
, но, увы, это не сработало.
embed_namespace
. Возможноhas_many :whatsits, root: :_embedded
- person robertjlooby   schedule 19.03.2015embed_namespace
наroot
не помогает. Я просто должен сделать это вручную, я думаю. Накатите на AMS v0.10 - person Dave Sag   schedule 20.03.2015