【问题标题】:Rails JSON API serializer with custom attributes具有自定义属性的 Rails JSON API 序列化程序
【发布时间】:2018-11-19 17:14:11
【问题描述】:

您好,我正在使用 ruby​​-2.5.0 和 rails 5 开发一个 RoR 项目。我正在为我的 api 使用 jsonapi-serializers。我想自定义关联模型的属性。我有两个模型 Receipt 和 ReceiptPartial。收据有_很多收据部分。当我在我的序列化程序中编写 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'],但没有用。 我怎样才能做到这一点。请帮忙。提前致谢。

【问题讨论】:

    标签: ruby-on-rails json-api jsonapi-serialize


    【解决方案1】:

    根据文档,您应该简单地指定相关序列化器类的属性,例如,如果您想在 ReceiptPartial Serilizer 中显示 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-04
      • 1970-01-01
      • 2015-07-27
      • 2017-04-06
      • 2021-06-06
      • 2016-01-02
      • 2018-08-19
      相关资源
      最近更新 更多