我正在使用:
序列化器:
class CarSerializer < ActiveModel::Serializer
attributes :make, :model
end
如果我这样做:
class MyController < ApplicationController
def index
@cars = Car.all
render json: @cars
end
end
然后,我的API将按预期返回,仅返回make和model属性(而不是ID或时间戳)。一切都很好。
如果我将控制器更改为:
@cars = Car.all
render json: {
cars: @cars
}
它不再使用序列化器并返回完整模型(id,make,model,timestamps)。
我想这样做,因为我想返回多个模型,即:
render json: {
cars: @cars,
drivers: @drivers
}
我要去哪里错了?当我将其添加到哈希中时,为什么不序列化?
红宝石和铁轨的新手,对于任何愚蠢的错误表示歉意!
谢谢!
答案 0 :(得分:0)
计算出来,应该是:
render json: {
cars: ActiveModelSerializers::SerializableResource.new(Car.all),
drivers: ActiveModelSerializers::SerializableResource.new(Driver.all)
}