2011-12-26 8 views
1
//Model 
var Dog = Backbone.Model.extend({ 
    name:'', 
    breed:'' 

}); 


//Collection 
var Dogs = Backbone.Collection.extend({ 
    model : Dog, 
    url : '/dogs' 

    parse : function(res) 
    { 
     alert('response' + res); 
    return res; 
    } 

}); 

これは、Jerseyを使用して実装されたサーバーから受け取ったJSONオブジェクトです。 は、私は私がコレクションの使用法を理解していないワンダー、そのURLが正しく属性JSONJSONオブジェクトを使用したBackbone.Collectionの自動集計

@Produces(MediaType.APPLICATION_JSON) 

{"DogModel":[{"name":"Jane","breed":"Great Dane"}, 
{"name":"Rocky","breed":"golden Retriver"}, 
{"name":"Jim","breed":"Lab"}]} 

に変換され、サーバーからDogModelのリストを返します。 私は、コレクションに対してfetchが呼び出されると、サーバーから犬の詳細を取得してコレクションに移入することを前提としています。

私は上記のような応答を得ますが、コレクションは期待どおりに取り込まれません。

モデルのリストに自動的にコレクションを追加するにはどうすればよいですか? JSONオブジェクトの表現について作業する必要はありますか?

ヘルプありがとうございます!

答えて

11

parse関数は、犬の配列を返す必要があります。したがって、次のようにコードを更新することができます。

サイドノートで
parse : function(res) 
{ 
    alert('response' + res); 
    return res.DogModel; 
} 

、あなたがショー以下のコード(see documentation)のようなdefaultsハッシュにお使いのモデルのデフォルトの属性値を宣言したい

var Dog = Backbone.Model.extend({ 
    defaults: {  
    name:'', 
    breed:'' 
    } 
}); 
+0

ポール、答えてくれてありがとう。その作業... – Ram

関連する問題