2016-09-17 41 views
1

我使用祖先的寶石類別模型,當我調用方法arrange_serializable我想要cusmized輸出,並添加那裏輸出相關模型中的方法。祖先 - 從arrange_serializable方法自定義輸出

相反的: {ID:1,名稱: 「XYZ」,孩子們:{ID:11,名稱: 「XYZ」,兒童...}}

我需要: {ID:1 ,custom_method:「ABC」,children:{id:11,custom_method:「ABC」,name:「XYZ」,children ...}}

我花了好幾天才弄清楚,但沒有任何運氣。

任何提示如何實現這一點?

謝謝你,米羅

回答

2

您需要定義一個定製arrange_serializable方法。你可以這樣做

TreeNode.arrange_serializable do |parent, children| 
    { id: parent.id, 
    custom_method: "ABC", 
    children: children } 
end 
0

你可以創建自己的custom_arrange方法。這將適用於你的例子。

def custom_arrange nodes = nil 
    nodes = Post.arrange if nodes.nil? 
    nodes.map do |parent, children| 
     { 
      id: parent.id, 
      custom_method: "ABC", 
      children: custom_arrange(children) 
     } 
    end 
end