5

我正在尝试通过调用返回多个对象:

def index
    beers = Beer.all
    micros = Micros.all
    render json: {beers: beers, micro: micros}  
end

但是,对于这两个对象来说,它们只返回在受尊重的序列化程序中列出的属性,而不是在受尊重的序列化程序中的任何has_many、belongs_to 等关系。

如果我只是想返回一个对象,例如:

def index
    beers = Beer.all
    render json: beers 
end

然后它工作正常并返回序列化程序中列出的所有关系。

如何使用多个对象修复调用以返回序列化程序中的所有内容,而不仅仅是属性?

4

1 回答 1

9

希望能帮到你

def index
  @beers = Beer.all
  @micros = Micros.all

  render json: {
     beers: ActiveModel::Serializer::CollectionSerializer.new(@beers, each_serializer: BeerSerializer),
     micros: ActiveModel::Serializer::CollectionSerializer.new(@micros, each_serializer: MicroSerializer),
  }
end
于 2017-07-25T11:14:54.360 回答