我正在尝试设置一个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
});
因此,当我启动应用程序时,它首先转换到“about”页面,然后单击“dbx”视图(我不确定为什么它会显示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”是如何被删除的?我也不确定为什么它会使电话号码多元化,尽管这很容易符合惯例,所以并不是真的很担心。
答案 0 :(得分:6)
我有同样的问题。我的问题是:
this.get('store').findAll('user');
需要更改为:
this.get('store').findAll('User');
答案 1 :(得分:1)
好吧,看起来我做了一个“常规错误”而且模型缺乏大写是引起问题的原因。因此,通过将App.dbxTable
切换为App.DbxTable
,我现在已经解决了问题。