0

我对 Ruby 很陌生,所以我可能只是在这里遗漏了一件简单的事情。

我正在使用 rails Ancestry gem 为我正在编写的 API 生成 JSON 输出。这是控制器:

class ParentsController < ApplicationController
    def show
        @vendor = Vendor.find(params[:id]).subtree

        render json: @vendor, status: 200
    end
end

这会产生正确的输出,显示 ID、供应商、祖先等。

但是,当我.arrange这样添加时:

class ParentsController < ApplicationController
    def show
        @vendor = Vendor.find(params[:id]).subtree.arrange

        render json: @vendor, status: 200
    end
end

我得到的输出是:

{"#\u003CVendor:0x4b9e628\u003E":
{"#\u003CVendor:0x4b9e3e8\u003E":
{},
"#\u003CVendor:0x4b9e1f0\u003E":
{}}}

这看起来像对象的内存位置。为了让这个以排列的形式实际输出对象,我缺少什么基本的东西?

我也尝试过使用arrange_serializable而不是arrange,这给了我一个

undefined method 'arrange_serializable' for #<ActiveRecord::Relation::ActiveRecord_Relation_Vendor:0x4b9b910>

错误

4

0 回答 0