2016-09-17 36 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