2013-12-07 3 views
0

У меня есть требование как backbone-js-model-different-url-for-create-and-update, но ничего не получилось из него.Пользовательский URL-адрес для создания, обновления и удаления в Backbone.js

У меня есть магистральная модель, как это: -

var task = backbone.Model.extend({ 
    idAttribute: "TaskId", 

    defaults: { 
     TaskId: null, 
     Name: null, 
     TaskTypeId: null 
    }, 

    // urlRoot: '/MyController/GetTasksAsync', 
    methodToURL: { 
     'read': '/MyController/Get', 
     'create': '/MyController/create', 
     'update': '/MyController/update', 
     'delete': '/MyController/remove' 
    }, 
    sync: function (method, model, options) { 
     options = options || {}; 
     options.url = model.methodToURL[method.toLowerCase()]; 

     return Backbone.sync.apply(this, arguments); 
    } 
}); 

Теперь я не получаю, как вызвать метод Sync?

Это то, что я пытался, но не получилось: -

this.model.sync("read",1,"");//(Get method, some hardcoded value /Get/1,no callback) 

Я подобных линий, как я буду называть сохранить метод?

this.model.sync('update',model,''); 

Я ничего не вижу ??

ответ

0

Я думаю, что то, что вы на самом деле ищете, - это методы модели Backbone Model, выборки, сохранения и уничтожения, которые делегируют метод синхронизации, который вы переопределили.

Вот документы для выборки (сохранить и уничтожить находятся поблизости):

model.fetch

Например, чтобы вызвать «читать» метод можно назвать model.fetch().

+0

Более конкретно, вы можете объявить модель (var model = new task()), а затем выполнить команду model.save(), чтобы попасть в путь «create» (если модель новая, а путь «обновления» - в противном случае) model.fetch(), чтобы попасть в путь чтения и model.destroy(), чтобы попасть в путь «удалить». – mike

+0

Кроме того, эти методы позволяют передать объект (параметры в документах), который сопоставляется параметру параметров в методе синхронизации. Вы можете, если хотите, добавить туда идентификатор (1 в вашем примере) и проверить его свойство объекта в методе синхронизации. Если он там, вы можете конкатенировать его до конца uri .... – mike

+0

Я видел документы, и если я следую документам, я не смог бы заставить их работать. Можете ли вы опубликовать какой-нибудь правильный синтаксис?> – Shubh

Смежные вопросы