Сериализатор Rails JSON API с пользовательскими атрибутами - PullRequest
0 голосов
/ 10 июня 2018

Привет, я работаю над проектом RoR с ruby-2.5.0 и rails 5. Я использую jsonapi-сериализаторы для моего API.Я хочу настроить атрибуты связанной модели.У меня есть две модели Receipt и ReceiptPartial.квитанция имеет множество квитанций.когда я пишу has_many: receive_partials в моем сериализаторе, он возвращает все столбцы, но я хочу только несколько столбцов.

class ReceiptPartialSerializer
  include JSONAPI::Serializer

  TYPE = 'receipt'
  attribute :id
  has_many :receipt_partials
end

Я хочу ограничить столбцы receive_partials.Я также пытался has_many :receipt_partials, only: ['id'], но не работал.Как я могу достичь этого.Пожалуйста помоги.Заранее спасибо.

1 Ответ

0 голосов
/ 10 июня 2018

На основании документации вы должны просто указать атрибуты в соответствующем классе сериализатора, например, если вы хотите отобразить id, атрибуты имени в ReceiptPartial Serilizer, вы можете выполнить следующие действия.

class BaseSerializer
  include JSONAPI::Serializer
end

class ReceiptSerializer < BaseSerializer
  TYPE = 'receipt'
  attribute :id

  has_many : receipt_partials
end

class ReceiptPartialSerializer < BaseSerializer
  attributes :id, :name
end
...