4

私は次の方法can.Modelでデータを取得するために使用していますid

Invoice = can.Model({
    findAll: 'GET /invoices',
    create  : "POST /invoices",
    update  : "PUT /invoices/{id}",
    destroy : "DELETE /invoices/{id}"
},{});

に移動すると/invoices、次のような結果が期待どおりに表示されます。

[
    0: {
         "ID": "1",
         "Client": "Client1",
    },
    1: {
         "ID": "2",
         "Client": "Client2"
    }
]

ただし、コンソールで取得Invoice.findAllされてコンソールに記録されたデータは次のようになり、リスト内の各要素に対して同じデータ項目が繰り返されます。

[
    0: {
         "ID": "1",
         "Client": "Client1"
    },
    1: {
         "ID": "1",
         "Client": "Client1"
    }
]

サーバーからの応答は正しいのに、なぜそれが同一のアイテムのリストとして解釈されるのですか?

4

1 に答える 1

5

データのidフィールドがと異なる場合は、idそのフィールドを使用して指定する必要がありますid。たとえば、のドキュメントにcan.Model記載されているように、を使用するの.NETが一般的Idです。この場合、idフィールドは次のように定義する必要がありますID

Invoice = can.Model({
    id: 'ID',
    findAll: 'GET /invoices',
    create  : "POST /invoices",
    update  : "PUT /invoices/{id}",
    destroy : "DELETE /invoices/{id}"
},{});
于 2012-06-26T18:09:51.753 に答える