0

解決策が見つからなかったので、ここで質問することにしました。私はこの配列を持っています(必要に応じて構造を変更できます):

[[{:time=>2014, :amount=>148.24018480434023}, {:time=>2015, :amount=>152.5625744766238}], [{:time=>2014, :amount=>151.06717076828187}, {:time=>2015, :amount=>158.43869963240266}]]

Rabl テンプレートには次のものがあります。

collection @array, object_root: false

node :collection do |s|
  s 
end

そして、応答は次のとおりです。

[{"collection": [{"time": 2014,"amount": 148.24018480434023},{"time": 2015,"amount": 152.5625744766238}]},{"collection": [{"time": 2014,"amount": 151.06717076828187},{"time": 2015,"amount": 158.43869963240266}]}]

ただし、「コレクション」ノードを取り除き、まさにこの応答を得たいと思います。

[ [{ time: 2014, amount: 138.92 }, { time: 2015, amount: 142.98 }], [{ time: 2014, amount: 141.57 }, { time: 2015, amount: 148.48 }] ]
4

2 に答える 2

3

ルートを取り除きたい場合は、試してください

#  config/initializers/rabl_init.rb
Rabl.configure do |config|
  config.include_json_root = false
  config.include_child_root = false
end

https://github.com/nesquena/rabl/issues/4

類似: RABL の子ルート ノードの削除

于 2013-07-02T11:00:55.213 に答える
1

これは古い質問ですが、後世のために。最も簡単な方法は、ノード呼び出しで :collection を削除することです。あなたの例では、以下のようになります

collection @array, object_root: false

node do |s|
  s 
end
于 2014-05-10T08:30:55.077 に答える