したがって、xml と json (curr.rabl) の両方の出力をサポートする非常に単純な rabl ビューがあります。
collection @currencies => "currencies"
attributes :code, :name
私のrabl設定:
Rabl.configure do |config|
config.include_json_root = false
config.include_child_root = false
config.xml_options = { :skip_types => true, :camelize => :lower }
config.include_xml_root = false
end
rabl が xml および json に対して与える出力:
XML:
<currencies>
<currency>
<code>AFN</code>
<name>Afghan Afghani</name>
</currency>
<currency>
<code>AFA</code>
<name>Afghanistan Afghani</name>
</currency>
</currencies>
JSON:
{
currencies: [
{
code: "AFN",
name: "Afghan Afghani"
},
{
code: "AFA",
name: "Afghanistan Afghani"
}]}
私には、これは正しくありません。私が読んでいるものによると、JSONは次のようになります。
{
currencies: {currency: [
{
code: "AFN",
name: "Afghan Afghani"
},
{
code: "AFA",
name: "Afghanistan Afghani"
} ] }
}
を設定するconfig.include_child_root(/include_json_root) = true
と、次のようになります(まだ正しくありません)
{
currencies: [
{
currency: {
code: "AFN",
name: "Afghan Afghani"
}
},
{
currency: {
code: "AFA",
name: "Afghanistan Afghani"
} } ] }
まず、RABL が間違った json を出力しているという私の仮定は正しいですか? 2 つ目は、このビューだけでなく、多くの子オブジェクトがネストされている可能性のある他のビューに対しても、RABL でやりたいことを実行する方法はありますか?