gpt4 book ai didi

ruby-on-rails - 序列化模型子项的 JSON 关联

转载 作者:行者123 更新时间:2023-12-04 05:55:49 26 4
gpt4 key购买 nike

我正在为我的 API 使用事件模型序列化程序。
我有一个模型(任务),它有许多子任务(总是任务模型),称为子任务。
由于祖先 gem ( https://github.com/stefankroes/ancestry ),我做了这个递归 has_many 关联

它工作得很好,但我有这个问题:
Task 与 User 有关联,但是当 active-model-serializers 导出主对象的用户时,它不会显示所有子对象的用户详细信息。
这是我的序列化程序:

class TaskSerializer < ActiveModel::Serializer
attributes :id, :name, :details, :user_id

belongs_to :user
has_many :children

end

这是我的 Controller :
class Api::V1::TasksController < Api::V1::BaseController
respond_to :json

def index
@tasks = current_user.company.tasks
respond_with @tasks, location: nil
end
end

这是我的模型:
class Task < ActiveRecord::Base
has_ancestry

belongs_to :user
end

我也尝试在我的模型中这样做:
class Api::V1::TasksController < Api::V1::BaseController
respond_to :json

def index
@tasks = current_user.company.tasks
render json: @tasks,
each_serializer: TaskSerializer,
status: :ok

end
end

但不起作用......我有父对象的用户详细信息,但没有 child 的用户详细信息(他只向我显示 user_id,没有所有用户对象)

有什么建议 ?

最佳答案

您是否尝试过为 Children 模型添加序列化程序或像这样将它们作为显式属性进行查询?

class TaskSerializer < ActiveModel::Serializer
attributes :id, :name, :details, :user_id, :children

def children
object.children
end
end

关于ruby-on-rails - 序列化模型子项的 JSON 关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29830535/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com