Backbone.js では、応答meta
をdata
ハッシュでラップする API を使用しています。例えば:
# GET /api/posts/1
meta: {
status: 200
},
data: {
id: 1
title: 'Hello World'
}
# GET /api/posts
meta: {
status: 200
},
data: [
{
id: 1
title: 'Hello World'
},
{
id: 2
title: 'Hi everyone!'
}
]
私の Backbone.js コレクション/モデルには、次の解析関数が上書きされています。
# App.Models.Post
...
parse: function (response) {
this.meta = response.meta;
return response.data;
}
# App.Collections.Posts
...
parse: function (response) {
this.meta = response.meta;
return response.data;
}
ただし、コレクションを取得するとposts = new App.Collections.Posts(); posts.fetch()
、投稿属性はすべて空です。すなわちposts.at(0).get('title') = undefined
。
現在、モデル解析が次のように変更されると、これは修正されます。
parse: function (response) {
return response;
}
しかし、これはそれpost.fetch()
が壊れていることを意味します。助言がありますか?
ありがとう!