2

谁能帮我摆脱“项目”中的“项目”元素

输出应该是:
"list":{ "items":[ { { data1: "test" } , { data2: "test2" } } }

collection @list

child :items => :items do
  attributes :place_id
end

child :items do
  child :place do |place|
    extends 'places/place', object: place
  end
end

电流输出:
"list":{ "items":[{ "item":{data1: "test"} "item":{ data2: "test2"}}}

4

3 回答 3

8

我有同样的问题,这就是解决方案。您可能需要创建名为配置 rabl 的文件。
配置/初始化程序/rabl.config.rb

Rabl.configure do |config|
    config.include_json_root = true
    config.include_child_root =  false
end
于 2012-11-05T07:55:40.823 回答
1

老问题,供未来用户参考:

启动文件rabl_init.rb,关闭 root by config.include_json_root = false,如果你仍然想在你的集合对象中有一个 root,使用类似的东西:

collection @orders, :object_root=>"order"
    extends "api/v1/orders/show"
# End of @orders
于 2012-05-25T13:45:32.477 回答
0

在子节点中删除根元素有一个可行的解决方案:Removing child root nodes in RABL

设置config.include_json_root = false似乎只删除 JSON 的第一级根。

于 2012-06-28T03:51:19.930 回答