簡體   English   中英

Rails JSON API 具有自定義屬性的序列化程序

[英]Rails JSON API serializer with custom attributes

我正在使用 ruby-2.5.0 和 rails 5 開發一個 RoR 項目。我正在為我的 API 使用jsonapi-serializers 我想自定義關聯的model的屬性。 我有兩個模型 Receipt 和ReceiptPartial 收據has_many:receipt_partials 當我在序列化程序中編寫has_many:receipt_partials時,它會返回所有列,但我只需要幾列。

class ReceiptPartialSerializer
  include JSONAPI::Serializer

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

我想限制receipt_partials 的列。 我也試過has_many:receipt_partials, only: ['id']但沒有用。 我怎樣才能做到這一點? 請幫忙。 提前致謝。

根據文檔,您應該簡單地指定相關序列化程序 class 上的屬性,例如,如果您想在ReceiptPartial Serializer 中顯示 id 和 name 屬性,您可以執行以下操作。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM