【问题标题】:Ancestry - Customize output from arrange_serializable methodAncestry - 自定义排列序列化方法的输出
【发布时间】:2016-09-17 18:29:45
【问题描述】:

我将祖先 gem 用于类别模型,当我调用方法arrange_serializable 时,我希望有 cusmized 输出并添加相关模型中方法的输出。

而不是: { id: 1, name: "XYZ", children: { id: 11, name: "XYZ", children...} }

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

我花了几天的时间才弄清楚,但没有任何运气。

任何提示如何实现这一点?

谢谢你,米罗

【问题讨论】:

    标签: ruby-on-rails ancestry


    【解决方案1】:

    您需要定义一个自定义的arrange_serializable 方法。你可以这样做

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

    【讨论】:

      【解决方案2】:

      您可以创建自己的 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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-28
        • 1970-01-01
        • 1970-01-01
        • 2017-08-05
        • 1970-01-01
        • 2014-07-08
        相关资源
        最近更新 更多