0

我已經爲我的模型中定義一個活動的模型序列,一切工作正常,當我打電話渲染JSON通過一個單一的集合,像這樣:Rails的加載ActiveModel串行和合並方法

render json: @collection 

問題是,當我嘗試合併不同的屬性和集合,例如:

json_response = service.errors.merge(attribute1: value1) 
render json: json_response.merge(collection1: @collection, collection2: @collection2) 

當我這樣做,收藏不使用定義的Active Record的序列化。相反,他們只是序列化所有的屬性。

如何確保在執行這些合併時,序列化仍然使用我爲他們定義的活動記錄串行器?

+0

什麼是'service'它是一個數據庫條目? – Tobias

+0

不,它是一個執行一些計算並在控制器內用作變量的類。 – felipeecst

回答

1

您可以直接之前他們序列渲染:

json_response = service.errors.merge(attribute1: value1) 
render json: json_response.merge(
    collection1: ActiveModelSerializers::SerializableResource.new(@collection).as_json, 
    collection2: ActiveModelSerializers::SerializableResource.new(@collection2).as_json 
) 
相關問題