如何在ember cli生成的模型中设置rest适配器

Mik*_*keV 13 ember.js ember-data ember-cli

我试图让我的余烬模型使用远程rails api.我试过扩展DS.RESTAdapter,但我不知道如何告诉模型使用这些设置.我的模型永远不会到达localhost:3000.

    //app.js
    import Ember from 'ember';
    import Resolver from 'ember/resolver';
    import loadInitializers from 'ember/load-initializers';

    Ember.MODEL_FACTORY_INJECTIONS = true;

    var App = Ember.Application.extend({
      modulePrefix: 'friend-ember-app', // TODO: loaded via config
      Resolver: Resolver
    });
    App.ApplicationAdapter = DS.RESTAdapter.extend({
        host: 'localhost:3000',
        namespace: 'api/v1'
    });

    loadInitializers(App, 'friend-ember-app');

    export default App;
Run Code Online (Sandbox Code Playgroud)

//

    //models/event.js
    import DS from 'ember-data';

    export default DS.Model.extend({
        title: DS.attr('string'),
        description: DS.attr('string')
    });
Run Code Online (Sandbox Code Playgroud)

//

    // controllers/index.js 
    import Ember from 'ember';

    export default Ember.Controller.extend({
        columns: function(){
            //Attempting to see request to remote api
            var events = this.store.all('event');
            debugger;
            return [1,2,3,4];
        }.property()
    });
Run Code Online (Sandbox Code Playgroud)

ViR*_*iRa 22

需要在适配器文件夹中的单独文件中定义和导出适配器

在adapters/application.js中

import DS from "ember-data";

var ApplicationAdapter = DS.RESTAdapter.extend({
    host: 'localhost:3000',
    namespace: 'api/v1'
});

export default ApplicationAdapter;
Run Code Online (Sandbox Code Playgroud)

  • 根据我的理解,每个javascript文件都映射到es6 javascript模块,只有导出的函数和对象可供其他模块访问.在您的情况下,未导出applicationadapter.第二,文件的命名和文件夹在ember中有一些含义我完全没有.所有适配器相关代码都位于适配器文件夹 类似于控制器,模型等具有自己的文件夹.(对不起,如果我没有太大的帮助.我也很贪图.) (2认同)