【发布时间】:2014-08-19 17:37:02
【问题描述】:
我对 Ember.js 还很陌生,所以这可能是一个愚蠢的问题,但它完全把我难住了,我找不到任何资源。
我已经使用 Ember Data 设置了一个基本的 Ember.js 应用程序,并且一直在尝试向应用程序添加一个基本的 Post 模型。在我尝试添加显示帖子的路线之前,一切都很好。
当我导航到路由路径时,没有任何渲染,Chrome 开发控制台显示:
OPTIONS file:///C:/posts net::ERR_FILE_NOT_FOUND
Error while processing route: posts
这是我的主要应用程序 .js:
App = Ember.Application.create();
App.ApplicationAdapater = DS.FixtureAdapter.extend();
App.Router.map(function() {
this.resource("about");
this.route("fourOhFour", { path: "*path"});
this.resource("posts", {path: '/posts'});
});
App.PostsRoute = Ember.Route.extend({
model: function()
{
return this.store.find('post');
}
});
App.GravatarImageComponent = Ember.Component.extend({
size: 200,
email: '',
tagName: 'span',
gravatarUrl: function()
{
var email = this.get('email'),
size = this.get('size');
return 'http://www.gravatar.com/avatar/' + hex_md5(email) + '?s=' + size + "&d=retro";
}.property('email','size')
});
Ember.Handlebars.helper('format-date', function(date) {
return moment(date).fromNow();
});
var showdown = new Showdown.converter();
Ember.Handlebars.helper('format-markdown', function(inp){
return new Handlebars.SafeString(showdown.makeHtml(inp));
});
这是单独的 Post 文件,包括固定装置。
App.Post = DS.Model.extend({
title: DS.attr('string'),
username: DS.attr('string'),
email: DS.attr('string'),
body: DS.attr('string')
});
App.Post.FIXTURES = [
{
id: 1,
title: "Hello World!",
username: "CalmBit",
email: "EB5473@gmail.com",
body: "This is a test!"
},
{
id: 2,
title: "Hello Again World!",
username: "CalmBit",
email: "EB5473@gmail.com",
body: "This is another test!"
},
{
id: 3,
title: "Goodbye World!",
username: "CalmBit",
email: "EB5473@gmail.com",
body: "This is the last test!"
}
];
可以提供更多信息。有没有人知道为什么会发生这种情况?
更新:部分问题似乎是store 未为Post 模型定义。我不确定这是否应该被自动纠正,或者我是否需要手动定义它。
【问题讨论】:
标签: javascript model-view-controller ember.js ember-data