0

これが想定どおりかどうかはわかりませんが、バックボーンアプリケーションをデバッグするときに、モデルのID属性に次のようなAPIへのURLがあることに気付きました。

    App.houseCollection.models[0]
       Object
        _callbacks: Object
        _escapedAttributes: Object
        _pending: Object
        _previousAttributes: Object
        _silent: Object
        attributes: Object
        changed: Object
        cid: "c4"
        collection: Object
        id: "/api/v1/post/4/"
        __proto__: Object

この例では、ID、つまり数値IDだけでコレクション内のモデルにアクセスする必要があるルートがあります。id = 4

仕事App.houseCollection.get('/api/v1/post/4/')はしますが、できるようになりたいですApp.houseCollection.get(4)

4

1 に答える 1

2

おそらく、サーバーはid単なる数値ではなくURLとしてを返しています。サーバーを修正するか、モデルにparseメソッドidを追加して:をクリーンアップします。

parse: function(response) {
    var matches;
    if(response.id
    && (matches = response.id.match(/\/(\d+)\/$/)))
        response.id = parseInt(matches[1], 10);
    return response;
}

もちろん、正規表現を調整することをお勧めします。

于 2012-06-15T16:53:37.340 に答える