gpt4 book ai didi

ruby-on-rails - 具有多个序列化器 rails 的序列化器中的数组

转载 作者:数据小太阳 更新时间:2023-10-29 08:14:35 25 4
gpt4 key购买 nike

处理后得到数组。

gem 'active_model_serializers'

现在我想用serializer来发送json格式的数据。

但是当我调用序列化程序时,由于 Array,它不会获取对象。

Controller -

def index
question = user.questions.available
answer = user.where(:answer => params[:ans])
render :json => {:qust => question, :each_serializer => QuestionSerializer,
:ans => answer, :each_serializer => AnswerSerializer}
end

question_serializer.rb

class QuestionSerializer < ActiveModel::Serializer
attributes :id, :question, :type
end

answer_serializer.rb

class AnswerSerializer < ActiveModel::Serializer
attributes :id, :answer, :date

def date
object.date = "..."
end
end

最佳答案

试试这个:

render json: {
qust: ActiveModel::ArraySerializer.new(question, each_serializer: QuestionSerializer),
ans: ActiveModel::ArraySerializer.new(answer, each_serializer: AnswerSerializer),
}

边注:

  • 注意您的命名,在处理集合时使用复数形式。
  • answer = user.where(:answer => params[:ans]) 看起来很糟糕

关于ruby-on-rails - 具有多个序列化器 rails 的序列化器中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25768726/

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