モデルがサーバーからフェッチされるときに問題が発生しています。Chrome 開発ツールでサーバーから返された正しい JSON が表示されますが、返された値でモデルが更新されません。
var listtemplate = 新しい ListTemplateModel.Model({id: id});
listtemplate.fetch();
この時点で、Chrome 開発ツールに正しいデータが表示されます。サーバーから返されるものは次のとおりです。
{
"title": "テンプレート 1",
"id": "template_one",
"ステップ": [
{
"説明": "大好きです",
"ID": 1,
"created_at": "2012-12-24T18:01:48.402Z"
}、
{
"description": "これはゴミです!",
"ID": 1,
"created_at": "2012-12-24T18:01:48.402Z"
}
]、
"created_at": "2012-12-24T18:01:48.402Z"
}
しかし、JSON をログに記録するコンソールには、モデルの作成中に渡されたデフォルト値と ID だけが表示されます。
console.log(listtemplate.toJSON());
これは次を返します。
{id: "template_one"、タイトル: ""、手順: 配列[0]}
私のモデルは次のようになります (私は Require.js を使用しているため、モデルの名前は上記の ListTemplateModel に変更されています)
var Model = B.Model.extend({
デフォルト: {
題名: ''、
ID: 0,
手順: []
}、
urlRoot: 'xxx'
});
何か案は?
@Amulyaの回答を編集して正しい軌道に乗せ、「その後」を発見しました。これが誰かが同じ問題に遭遇するのに役立つことを願っています:
listtemplate.fetch().then(関数(){
//ビューを更新
});