我正在尝试设置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');

08-19 08:56