2012-01-16 49 views
0

我确实实现了一些代码,其中的ember-data与sinatra json-app对话。方法findAll按预期工作并加载记录。 另外我确实在DS.Store.create中实现了updateRecord方法,但并不真正知道如何更新和提交。请在这里看到的代码(为简便起见,我没有包括jQuery函数):http://pastie.org/3197008Ember数据 - 如何更新记录

我试过如下:

a = Todos.records.objectAt(0).set("text", "should be so") 
a.store.commit() 

,但我得到了以下错误:TypeError: Object (subclass of DS.State) has no method 'enter'

我应该如何更新记录?还是我忘了实施更新的东西?

在此先感谢!

回答

4

我有同样的问题。我认为这是一个烬数据的错误。问题是代码没有正确初始化某些子状态,而这些子状态不是状态实例,而是状态类。

我通过定义一个函数来解决问题,该函数每次调用时都会生成一个新的状态实例(具有正确创建的子状态)。你可以找到我的变化here

我还要求烬数据人拉我的修复程序,所以希望这个问题很快就会消失。您可以查看pull request进行讨论。

+0

谢谢!这个bug让我疯狂:-) – Mimay 2012-01-17 19:42:53

+1

我可以确认你的修复工作。 +1 – 2012-01-24 00:16:49

+0

谢谢,拉斐尔。 – 2012-01-25 13:47:19

2

今天早上我有同样的问题。使用emberjs git版本

+0

是的,你必须拉和建立烬数据,如果你想要最新的......他们还没有发布一个完整的下载/建立在一段时间 – 2012-04-06 16:41:08