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 访问集合中的模型,即在此示例中只是数字 IDid = 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 回答