0

Rails バックエンドでネストされたオブジェクトを含む JSON を返す単純なシナリオがあります。ネストされたオブジェクトの属性にアクセスできません。

JSON の例:

[{
  category_id: 2,
  id: 34,
  name: "red",
  category: {
    name: "color"
  }
},
{
  category_id: 2,
  id: 35,
  name: "blue",
  category: {
    name: "color"
  }
}]

ID が 35 の項目のカテゴリの色にアクセスしたいとします。これはコンソールで正常に機能します。

collection = new App.Collections.Colors()
collection.fetch()
model = collection.get(35)
model.get('category').name

eco テンプレート内で、「未定義のプロパティ 'name' を読み取れません」というエラーが表示されます。ただし、私のテンプレートは、指定するだけで [object Object] を使用してオブジェクトにアクセスできることを示しています

<%= model.get('category') %>

何か案は?私は何か基本的なことを理解していないと確信しています。

更新しました

エラーの原因となっているいくつかのカテゴリ名が nil であることに気付きました。上記のコードは問題ないはずです。

4

1 に答える 1

2

JSON の形式が正しくないようです。

JSON 仕様に従って、キーを引用符で囲む必要があります。

代わりに次のことを試してください。

[{
  "category_id": 2,
  "id": 34,
  "name": "red",
  "category": {
    "name": "color"
  }
},
{
  "category_id": 2,
  "id": 35,
  "name": "blue",
  "category": {
    "name": "color"
  }
}]
于 2013-07-04T02:28:21.477 に答える