2011-07-01 106 views
3

保存我已经在CoffeeScript的限定的骨架视图下面的方法:Backbone.js的带的CoffeeScript

saveObservation: => 
    self = @ 
    observation = new Observation(ParentUid: _questionUid, Status: "N/a", Text: "Change to element") 
    observation.save { 
      success: -> 
      alert('test') 
      error: -> 
      alert('failed') 
     } 

观察从Backbone.Model扩展

class Observation extends Backbone.Model 
    url: -> 
    "/AuditActionTracking/" 

的节省到达服务器但既不在保存中定义的成功或错误处理程序在ajax调用完成后会被调用。

任何人都可以看到我做错了什么?

+0

你忘了提及'观察'是一个模型,集合还是一些任意的东西 – Raynos

+0

对不起,这是一个模型 – dagda1

回答

6

Backbone.Model.save需要2 parameters,第一个是您要更改的属性列表,第二个是回调配置。

所以,如果你不改变保存过程中的任何其他属性,你可以传递一个空的对象:

observation.save {}, 
    success: (model, response) -> 
     alert('test') 
    error: (model, response) -> 
     alert('failed') 
+1

谢谢,我以为我生气了 – dagda1

4

第一个答案为我工作,但有轻微的修改。我不得不传入一个空的散列,而必须传递null,否则使用空的散列来设置模型上的所有属性,替换任何现有属性并实际删除它们。

observation.save null, 
    success: (model, response) -> 
    alert('test') 
    error: (model, response) -> 
    alert('failed') 

以上是我从什么工作,也许api改变,因为这个以前的答案发布?

相关问题