有没有办法在不使用DS.Model
的情况下创建store.createRecord
对象?
修改
也许我需要提供一些背景信息。
我正在编写一个Ember Addon,其中有一些model
未通过 app / 目录进行桥接,我想为那些model
编写单元测试。自动生成的单元测试使用moduleForModel
帮助程序,如果model
被桥接,它可以正常工作。但由于我的models
没有桥接,它们不会合并到虚拟应用程序的命名空间,moduleForModel
帮助器找不到model
。
这就是为什么我希望能够在不使用model
对象的情况下创建store
的原因,因为我无法在不使用{{1}的情况下找到访问store
的方法帮助者。
答案 0 :(得分:1)
没有。 DS.Model
是Ember.Object
,如果有可能,我们会使用create
:
const User = DS.Model.extend({
firstName: DS.attr('string'),
lastName: DS.attr('string'),
});
const foo = User.create({ firstName: 'Foo', lastName: 'Bar' });
> Uncaught EmberError { message: "You should not call `create` on a model. Instead, call `store.createRecord` with the attributes you would like to set.", ... ]
DS.Model实例按设计链接回商店(这是在推送新数据时它们如何接收更新),因此在没有该连接的情况下创建DS.Model
实例是没有意义的。 Ember Data通过要求您在商店实例上调用createRecord
来明确这一点。
答案 1 :(得分:0)