我是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>
错误