ActiveModel Serializer JSONAPI 包含资源

ActiveModel Serializer JSONAPI included resource

我正在使用 ActiveModel Serializer 的 JSONAPI 适配器,我试图在序列化 "video" 资源时包含 "user" 资源。目前我的视频序列化器看起来像这样:

class VideoSerializer < ActiveModel::Serializer
  attributes :id, :uploaded_at, :title, :description

  belongs_to :user
  has_many :comments

  included :user
end

我花了一些时间在这里查看最近关闭的问题:https://github.com/rails-api/active_model_serializers/issues 看起来这个功能应该在最新版本中完成,但我似乎无法让它工作。有人看到我可能做错了什么吗?

序列化程序 DSL 中没有定义 included 方法。但是,有一个 included adapter 选项,允许指定响应文档中应包含哪些相关资源。

在你的情况下(在你的控制器中):

render json: videos, adapter: :json_api, include: 'user'