您好我正在使用ruby-2.5.0和rails 5进行RoR项目。我正在为我的api使用jsonapi-serializers。我想自定义关联模型的属性。我有两个型号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']
但是没有用。
我怎样才能做到这一点。请帮忙。提前谢谢。
答案 0 :(得分: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