【问题标题】:Add fixtures with ember-cli 0.1.2使用 ember-cli 0.1.2 添加固定装置
【发布时间】:2014-10-17 15:43:06
【问题描述】:

这和this onethis one是同一个问题,但是ember-cli生成的代码好像变了。这是我目前的系统:

» ember --version
version: 0.1.2
node: 0.10.25
npm: 2.1.3

这是我的书模型文件(models/book.js)的全部内容:

import DS from 'ember-data';

export default DS.Model.extend({
    'title': DS.attr('string'),
    'author': DS.attr('string'),

});

对其他问题和this post 的回复告诉我使用reopenClass,但是以模型文件的当前格式,我没有什么可以重新打开的。

我已经尝试过:

import DS from 'ember-data';

export default DS.Model.extend({
    'title': DS.attr('string'),
    'author': DS.attr('string'),
    FIXTURES : [
        {
            id: 1,
            title: "Protector",
            author: "Larry Nieven"
        },
        {
            id: 2,
            title: "The greatest book ever",
            author: "Juan"
        }
    ]
});

但没有运气。如何定义灯具?

【问题讨论】:

标签: ember.js fixtures ember-cli


【解决方案1】:

将您的模型类转换为以下应该可以解决问题。将模型存储在变量中,重新打开类并添加固定装置,然后导出模型。

import DS from 'ember-data';

var BookModel = DS.Model.extend({
    'title': DS.attr('string'),
    'author': DS.attr('string')
});

BookModel.reopenClass({
    FIXTURES : [
        {
            id: 1,
            title: "Protector",
            author: "Larry Nieven"
        },
        {
            id: 2,
            title: "The greatest book ever",
            author: "Juan"
        }
    ]
});

export default BookModel;

【讨论】:

  • 不工作。不管我称它为 BookModel,还是只是 Book,或其他任何东西。还尝试使用BookModel.FIXTURES 语法,并尝试使用Ember.MODEL_FACTORY_INJECTIONS,但没有任何效果。我已经定义了一个app/adapters/application.js 夹具适配器(无处解释,但我在 ember-todo 中找到了一个示例,它正在工作 - 但仅适用于旧版本的 ember-cli(ember?),而不是当前的 ember- cli(ember?)版本)。没有关于如何使用 ember-cli 设置固定装置的官方指南。而且我只想用fixture来重现另一个(更复杂的)问题......
  • 现在它正在工作。我错过了路线的模型挂钩及其相应的查找。很难击中快速移动的目标,特别是考虑到我也犯了我通常的编程错误,而且我无法区分有些事情我知道的事实(reopenClass ) 和一些我知道但我做错了(缺少适配器和模型)
  • 很高兴你知道了。很高兴能够根据每个资源更改适配器类型,但如果不是所有的鸭子都排成一排会咬你。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-05
  • 1970-01-01
  • 1970-01-01
  • 2015-11-27
  • 1970-01-01
相关资源
最近更新 更多