我正在尝试设置REST模型,并且遇到一个让我完全困惑的问题:生成的API调用似乎删除了模型的第一个字母,因此无法检索数据(获取404错误)。
我从设置商店开始:
App.Store = DS.Store.extend({
revision: 11,
adapter: DS.RESTAdapter.reopen({
namespace: 'api/admin'
})
});
然后,我在REST服务上设置一个模型(称为“dbx_tables”:
App.dbxTable = DS.Model.extend({
name: "string",
db_column: "string"
});
然后是路线:
App.DbxRoute = Ember.Route.extend({
model: function() {
return App.dbxTable.find();
}
});
我打开了过渡记录:
App = Ember.Application.create({
LOG_TRANSITIONS: true
});
因此,当我启动应用程序时,它首先转换到“关于”页面,然后单击“dbx” View (我不确定为什么它说
dbx.index
而不是dbx
):DEBUG: ------------------------------- ember-1.0.0-rc.1.js:339
DEBUG: Ember.VERSION : 1.0.0-rc.1 ember-1.0.0-rc.1.js:339
DEBUG: Handlebars.VERSION : 1.0.0-rc.3 ember-1.0.0-rc.1.js:339
DEBUG: jQuery.VERSION : 1.9.1 ember-1.0.0-rc.1.js:339
DEBUG: ------------------------------- ember-1.0.0-rc.1.js:339
Transitioned into 'about' ember-1.0.0-rc.1.js:339
Transitioned into 'dbx.index' ember-1.0.0-rc.1.js:339
GET http://lifegadget-local/api/admin/bx_tables 404 (Not Found) jquery-1.9.1.js:8526
请注意API调用中对
bx_tables
的引用。如何删除前导“d”?我也不确定为什么要使电话多元化,尽管这很容易符合惯例,所以不必担心。 最佳答案
我遇到过同样的问题。我的问题是:
this.get('store').findAll('user');
需要更改为:
this.get('store').findAll('User');