0

我試圖與呼叫返回多個對象渲染JSON:Rails的:與多個對象

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 

然後正常工作,並返回串行列出的所有關係。

如何修復多個對象的調用以返回序列化程序中的所有內容,而不僅僅是屬性?

+0

界定 「一切」。要包含相關模型,你必須告訴序列化程序包含它們(例如'render json:beers,include:[:some_associated_model,:another_associated_model]')如果這是你問的問題 – engineersmnky

+0

@engineersmnky「Everything」全部正如我所說的那樣,序列化程序中列出的東西。當我渲染多個對象時,我希望它返回屬性,belongs_to's,has_many's,has_one's等。當我嘗試執行多個對象 –

+0

時,請僅提供示例輸出,如您希望看到的那樣。如果你看看我的例子,它會爲你提供你想要的,但你必須通過告訴json'包括'它來問你想要什麼。 – engineersmnky

回答

0

希望能幫助你

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