- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Ember 1.0.0-rc1 引导一个小应用程序。该应用程序将对图像进行一些处理。我还没有任何类型的应用程序后端,所以我试图在我嵌入到网页源代码中的一些 JSON 上使用 FixtureAdapter。
不幸的是,我似乎无法正确连接商店。我不断收到关于需要设置 YourAppName.Store 的错误。
Uncaught Error: assertion failed: Your application does not have a 'Store' property defined. Attempts to call 'all' on model classes will fail. Please provide one as with 'YourAppName.Store = DS.Store.extend()'
window.YIH = Ember.Application.create();
YIH.Photo = DS.Model.extend({
url: DS.attr('string'),
});
YIH.Photo.FIXTURES = JSON.parse(document.getElementById('images').innerHTML);
YIH.Store = DS.Store.extend({
revision: 12,
adapter: DS.FixtureAdapter
});
YIH.photoController = Em.ArrayController.create({
content: YIH.Photo.all(), // blows up
})
最佳答案
更新 : fiddle 现在使用 Ember RC2 和 Ember-Data rev 12
你不需要create
Controller ,只需附加 Controller 类和 extend
来自 Ember.ArrayController
用于收藏或 Ember.ObjectController
对于单个对象。
YIH.PhotosController = Em.ArrayController.extend();
YIH.PhotosPhotoController = Em.ObjectController.extend();
FixtureAdapter
设置商店, 做这个:
YIH.Store = DS.Store.extend({
revision: 12,
adapter: 'DS.FixtureAdapter'
});
content
对于您的 Controller ,建议通过路由来完成,如下所示:
YIH.Router.map(function() {
this.resource('photos', function() {
this.route('photo', { path: ':photo_id' });
});
});
YIH.IndexRoute = Em.Route.extend({
redirect: function() {
this.transitionTo('photos');
}
});
YIH.PhotosRoute = Em.Route.extend({
model: function() {
return YIH.Photo.find();
}
});
YIH.PhotosPhotoRoute = Em.Route.extend({
model: function(params) {
return YIH.Photo.find(params.photo_id);
}
});
model
通过
setupController
这是烘焙成
Route
即使你不写。它看起来像这样:
SomeRoute = Em.Route.extend({
setupController: function(controller, model) {
controller.set('content', model);
}
});
id
属性和您的模型应该
不是 有一个
id
属性,除非您将商店/适配器配置为具有不同于
id
的主键.在整个应用程序中,有时您会直接调用 id,但有时您必须使用命名约定(例如:“照片” route 的动态段)。
YIH.Photo = DS.Model.extend({
url: DS.attr('string'),
caption: DS.attr('string')
});
YIH.Photo.FIXTURES = [
{ id: 1,
url: 'http://ecx.images-amazon.com/images/I/516cyMC9O7L.jpg',
caption: 'Image 1'
},
{ id: 2,
url: 'http://ecx.images-amazon.com/images/I/51og8BkN8jL._SS250_.jpg',
caption: 'Image 2'
}
];
关于ember.js - 你如何在 Ember.js 中将默认存储设置为 FixtureAdapter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15301918/
我正在使用 DS.FixtureAdapter 并且无法使用 DS.belongsTo 获取相关条目 App.User = DS.Model.extend({ login: DS.attr('
您一定会爱上 ember.js 团队...我收到这条折旧消息说:“DS.FixtureAdapter 已被弃用并移至不受支持的插件中:https://github.com/emberjs/ember-
背景 我已经提交了 github issue与 Ember Data 团队合作,但我很想深入了解如何解决这个问题(或者如果我一直都错了) 如果这个错误 on jsfiddle,您可以看到一个工作演示
我已经开始使用 EmberJS 和 Ember-Data,但遇到了一个小问题。 我有一个应用程序,其中我的数据源使用非 id 作为主键(例如 /model/ )。我正在使用 FixtureAdapte
我正在尝试使用 Ember 1.0.0-rc1 引导一个小应用程序。该应用程序将对图像进行一些处理。我还没有任何类型的应用程序后端,所以我试图在我嵌入到网页源代码中的一些 JSON 上使用 Fixtu
再次与 ember-data 作斗争 >.< ,这里的错误是在 FixtureAdapter 上,每当我使用 hasmany 关系时,我都会收到错误 加载路线时出错:TypeError {} 无法调用
我已经尝试了一段时间来更改模型的主键以使用 ember-data 存储。我有一个名为“Addon”的装置,它没有“id”字段,但它们确实有一个“artifactId”字段。我找到了多个解决此问题的建议
我无法查询我的模型。我不知道我做错了什么。 我将我的商店定义为 App.Store = DS.Store.extend({ revision: 12, adapter:
我们正在使用 Ember Data 并有一个 RestAdapter,但我们不想在测试中使用它。如何在验收测试中将 application:adapter 替换为 DS.FixtureAdapter?
据我了解,DS.FixtureAdapter 默认情况下不使用序列化器。这是正确的吗? 我主要尝试使用夹具适配器进行自定义转换。我看到 DS.JSONSerializer 调用转换 here 的反序列
我们的应用程序使用 ember-data 和 FixtureAdapter。我们正在使用 Jasmine 和 js-test-driver 测试模型代码(各种 JS 计算)。每个 it block 都
我想使用两个适配器,具体取决于路线。目前我有以下商店: if (window.USE_FIXTURES) { var my_adapter = 'DS.FixtureAdapter'; } else
我有一个用于 Controller 的 ember-qunit 测试用例(使用 moduleFor('controller:name', ...)),我希望能够使用 moduleForModel-独占
我是一名优秀的程序员,十分优秀!