-1

Sinatra でビルドと API に rabl を使用しています。この Rabl テンプレートを使用すると、必要な JSON des が一部のノードでラベルを受け入れません。

object @user
  attributes :profile_photo => :profile_photo, :name => :first_name, :last_name =>       :last_name
  child :addresses do
  attributes :id 
    child :country do
      attributes :name
    end
  end

次の JSON を取得しています。

{
user: {
profile_photo: null,
first_name: "John",
last_name: "Doe",
addresses: [
{
address: {
id: 43,
country: {
name: "Iceland"
}
}
},
{
address: {
id: 44,
country: {
name: "Cambodia"
}
}
},
{
address: {
id: 45,
country: {
name: "North Korea"
}
}
}
]
}
}

私が手に入れたいのは:

{
user: {
profile_photo: null,
first_name: "John",
last_name: "Doe",
addresses: [
{
{
id: 43,
country: {
name: "Iceland"
}
}
},
{
{
id: 44,
country: {
name: "Cambodia"
}
}
},
{
{
id: 45,
country: {
name: "North Korea"
}
}
}
]
}
}

Rablでそれを行う方法はありますか?

4

1 に答える 1

0

Rabl 構成を次のように設定する必要があります。

Rabl.configure do |config|
  config.include_json_root = false
  config.include_child_root = false
end

別のスタックオーバーフロースレッドから回答を得ました:

RABL の子ルート ノードの削除

于 2013-04-12T17:35:37.343 に答える