Rails:使用多个对象渲染 json

Rails: rendering json with multiple objects

我正在尝试 return 调用多个对象:

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

然而,对于这两个对象,仅 returning 受尊重的序列化程序中列出的 属性 ,而不是任何 has_many , belongs_to, 等 受尊重的序列化程序中的关系。

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

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

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

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

希望能帮到你

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