【发布时间】:2014-10-22 07:40:12
【问题描述】:
我正在使用活动模型序列化器。
我想以 JSON 格式呈现“状态”和“数据”,例如
{"status":"success","data":[{"id":1,"content":xxx"}]}
我已经能够在我的 rails 控制器中使用以下代码生成“数据”:
@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) }
这似乎有效,即使用我的 JobSerializer 中指定的正确属性呈现 JSON 响应,但无法识别或呈现我的 JobSerializer 中的关联(即 has_many 关联)
有没有我想念的简单方法来做到这一点?
【问题讨论】:
-
def send_data @jobs.each do |job| job.data job.status end render something, json: @jobs.as_json end尝试定义此方法..希望这会有所帮助.. -
抱歉,不确定这是为了达到什么目的?每项工作的 job.data 和 job.status 会做什么?
标签: ruby-on-rails json active-model-serializers