gpt4 book ai didi

javascript - 我如何阻止单个模型将他的 id 添加到 Backbone 中的 url?

转载 作者:行者123 更新时间:2023-11-30 17:48:29 27 4
gpt4 key购买 nike

我对 backbone.js 有疑问。我正在为现有的 api 创建一个前端,对我来说无法访问。问题是,当我尝试将新模型添加到集合中时,我可以在我的 Firebug 中看到,每次主干尝试创建模型时,它都会将属性名称附加到 url。

示例:

  1. 默认 url =/api/database
  2. 当我执行 GET =/api/database 时
  3. 当我使用对象 {"name": "test"} = 执行 GET/POST 时/api/database/test 是结果

有人知道如何避免这种行为吗?

问候克恩

我的观点:

window.databaseView = Backbone.View.extend({
el: '#content',

template: new EJS({url: 'js/templates/databaseView.ejs'}),

initialize: function() {
var self = this;
this.collection.fetch({
success: function() {
console.log(self.collection);
var test = self.collection.get("_system");
console.log(test);
self.collection.get("_system").destroy();
self.collection.create({name: "test"});
}
});
},

render: function(){
$(this.el).html(this.template.render({}));
return this;
}

});

型号:

window.Database = Backbone.Model.extend({
initialize: function () {
'use strict';
},

idAttribute: "name",

defaults: {
}

});

收藏:

window.ArangoDatabase = Backbone.Collection.extend({
model: window.Database,

url: function() {
return '../../_api/database/';
},

parse: function(response) {
return _.map(response.result, function(v) {
return {name:v};
});
},



initialize: function() {
this.fetch();
},

getDatabases: function() {
this.fetch();
return this.models;
},

dropDatabase: function() {

},

createDatabse: function() {

}
});

最佳答案

默认情况下,Backbone 以这种方式创建模型 URL:{collection url}/{model id}

它将集合 URL 视为 RESTful 方式的基本 URL。

在这里您只想将模型的 url 属性设置为您希望调用的 URL。这将覆盖默认行为。 http://backbonejs.org/#Model-url

关于javascript - 我如何阻止单个模型将他的 id 添加到 Backbone 中的 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19596237/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com