Я использую активный сериализатор модели.Render статус и данные Ответ JSON с активным сериализатором модели
Я хочу отображать как «статус», так и «данные» в формате JSON, например.
{"status":"success","data":[{"id":1,"content":xxx"}]}
Я был в состоянии произвести «данные», используя следующий код в моем контроллере рельсов:
@jobs = Job.all
render json: @jobs
Как я могу оказать как «статус» и «данные»? Я пробовал делать:
@jobs = Job.all
render :json => { :status => :success, :data => @jobs }
Это не распознает JobSerializer, поэтому делает вывод JSON, но не с атрибутами и ассоциациями, указанными в моем JobSerializer.
Я также попытался:
@jobs = Job.all
render :json => { :status => :success, :data => ActiveModel::ArraySerializer.new(@jobs, each_serializer: JobSerializer) }
Это, кажется, работает, т.е. делает ответ JSON с нужными атрибутами speicified в моем JobSerializer, но не признает или оказывать ассоциации в моем JobSerializer (т.е. a has_many association)
Есть ли простой способ сделать это, что мне не хватает?
определение функции send_data @ jobs.each сделать | Работа | job.data job.status конец делают что-то, JSON: @ jobs.as_json end' попробовать определение этого method..hope это помогает .. – Sontya
К сожалению, не уверен, что это пытается достичь? что будет делать job.data и job.status на каждой задаче? – user3711600