Emberjs - 定制适配器

时间:2014-06-05 16:07:48

标签: ember.js

我在Ember中退出了适配器的世界,我想创建一个自定义的数据,将一些数据保存到兼容浏览器的webSQL数据库中。

看起来可能非常简单,但我在这个过程的开始就陷入困境。

我在一个单独的文件中有这个:

DS.WebSQLAdapter = DS.Adapter.extend({
    dbName: 'testDb',
    dbVersion: '1.0',
    dbDisplayName: 'Test Db',
    dbSize: (2 * 1024 * 1024),

    init: function() {
        this.db = cont.openDatabase( this.dbName, this.dbVersion, this.dbDisplayName, this.dbSize );
    },
    createRecord: function( store, type, query, recordArray ) {
        console.log(data);
    }
})

在我的app.js文件中:

window.App = Ember.Application.create({});

App.ApplicationAdapter = DS.WebSQLAdapter;

当我在我的控制器中执行此操作时:

App.ApplicationController = Ember.ArrayController.extend({

    actions: {
        myAction: function() {
            this.store.createRecord('someDB', {key: 'test', title: 'myTitle'});
        }
    }
})

它说它找不到模型someDB ..我是否需要为我的适配器创建一个模型,即使我使用websql来获取数据?

1 个答案:

答案 0 :(得分:1)

它告诉你SomeDB不存在。 Ember期待以下内容出现在您的代码中:

App.SomeDB = DS.Model.extend({});

如果您未声明SomeDB模型,则无法创建该类型的新记录。 (至少没有Ember-Data商店。)