Модель скелета отсутствует параметр URL... не
Я пытаюсь синхронизировать модель с сервером. К сожалению, несмотря на настройку url
а также rootUrl
на модели, я все еще получаю свойство url не указано.
Излишне говорить, что я могу сделать model.fetch()
(ПОЛУЧИТЬ) с этой моделью просто отлично, но при попытке POST я вдруг теряю URL.
>>> model = window.mod
ClientSchema { cid="c2", attributes={...}, _changing=false, more...}
>>> model.url
"http://localhost:8080/mp/add"
>>> model.urlRoot
"http://localhost:8080/mp/add"
>>> model.set({test:2})
ClientSchema { cid="c2", attributes={...}, _changing=false, more...}
>>> model.sync()
Error: A "url" property or function must be specified
urlError()vendor.js
Backbone.sync()vendor.js
.sync()vendor.js
throw new Error('A "url" property or function must be specified');
модель
# coffeescript
# Chaplin.Model just extends Backbone.Model
module.exports = class ClientSchema extends Chaplin.Model
url: 'http://localhost:8080/mp/add'
urlRoot:'http://localhost:8080/mp/add'
Model.sync
>>> model.sync.toString()
"function () {
return Backbone.sync.apply(this, arguments);
}"
1 ответ
Решение
Если вы не перезаписали метод синхронизации по умолчанию. вам нужно будет передать либо модель, либо URL.
это оригинальная синхронизация:
Backbone.sync = function(method, model, options) {
...
if (!options.url) {
params.url = _.result(model, 'url') || urlError();
}
...
}
когда вы вызываете model.sync(), вы ничего не передаете.