Ember js如何使用BasicAdapter

时间:2013-04-04 17:49:58

标签: ember.js

我正在寻找能够帮助我理解ember中同步模型的指南。我尝试在最新版本上使用RestAdapter,但是我收到了一个错误。所以我决定使用基于stabilizing ember data on the ember js site的BasicAdapter。

这是我的模特:

App.Accounts = DS.Model.extend({
 name:DS.attr('string')
,date:DS.attr('date')
})

这是我声明模型的同步功能的地方。

App.Accounts.sync = {
list: function() {
    $.ajax({
        type: 'POST',
        cache: false,
        url: contextPath + 'account/list',
        success: function(data) {
            this.load()
        },
        error: function(jqXHR, textStatus, errorThrown) {
        },
        async: false
    });
}
}

我在设置控制器中调用list函数:

App.TestRoute = Ember.Route.extend({
setupController:function(){
    App.Accounts.list()
}
})

该功能无法执行。在ember应用程序中调用同步函数的正确方法是什么?此外,我可以使用关于此主题的博客/文章。

谢谢!

1 个答案:

答案 0 :(得分:2)

您是否签出Ember Model它为您提供了一个基本的适配器,而无需使用EmberData。

Erik在embercasts.com上有一个教程,您可能需要注册成为测试版用户。

var attr = Ember.attr;

App.User = Ember.Model.extend({
  id: attr(),
  name: attr()
});

App.User.url = "/users";
App.User.adapter = Ember.RESTAdapter.create();

var newUser = App.User.create({name: "Erik"});
newUser.save(); // POST to /users.json

var existingUser = App.User.find(1); // GET /users/1.json
existingUser.set('name', 'Kris');
existingUser.get('isDirty'); // => true
existingUser.save(); // PUT /users/1.json

干杯