使用DS.RESTAdapter时,Ember不保存记录

时间:2014-04-16 08:40:02

标签: ember.js ember-data

我尝试通过DS.RESTAdapter创建新对象,但我在后端(通过控制台或数据库)中看不到任何活动。控制台中没有错误输出(使用chrome)。通过索引和显示读取数据工作正常。在我的route.rb中我有

resource @posts, only: [:index, :show, :new, :create]

在我填写表单并单击“提交”后,将调用此行(尝试以静态数据开头)

this.get('store').createRecord('post', {name: 'asdf'});

在镀铬的灰烬检查员中,我看到"数据"没有ID的新记录。我注意到我的后端post控制器中的新方法没有被调用,所以我是否需要为适配器尝试REST PUT做另一个步骤?

谢谢!

1 个答案:

答案 0 :(得分:0)

createRecord仅在商店中创建记录。

要保留该记录,您需要在其上调用save()

// Puts record into store
var newPost = this.get('store').createRecord('post', {name: 'asdf'});
// Persists it
newPost.save();

请参阅:http://emberjs.com/guides/models/persisting-records/