Я создал модель в моделях /application.js:
import DS from 'ember-data';
export default DS.Model.extend({
name: DS.attr('string')
});
И создал адаптер в адаптерах /application.js:
import Ember from "ember";
import DS from 'ember-data';
export default DS.RESTAdapter.extend({
host: 'http://site.work/rest/v1/'
});
Маршрут в маршрутах /application.js:
import Ember from 'ember';
export default Ember.Route.extend({
model: function () {
return this.store.all('application');
});
Шаблон в шаблонах /application.hbs
{{#each item in model}}
<li>{{item.name}}</li>
{{/each}}
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: 'chat', // TODO: loaded via config
Resolver: Resolver
});
loadInitializers(App, 'chat');
export default App;
router.js
import Ember from 'ember';
var Router = Ember.Router.extend({
location: ChatENV.locationType
});
Router.map(function() {
this.route("application");
});
export default Router;
Пример JSON с сервера: {"application":[{"id":"1","name":"qwe"},{"id":"2","name":"qwe2"}]}
Но моя модель пуста, и я не могу найти никаких запросов xhr в инструменте разработчика.
Как использовать DS.RESTAdapter в Ember Cli?
Примечание. Когда я добавляю эту строку в маршрутизатор, она работает:
this.store.push('application',{'id':5, 'name':'Is this a question?'});
Я не уверен, что имя вашей модели (application
) вызывает странное поведение, поскольку ember (-cli) также использует это имя как root для таких вещей, как адаптер, маршрут и т.д.
Кроме того, я бы определил свой адаптер следующим образом:
import DS from 'ember-data';
export default DS.RESTAdapter.extend({
namespace: 'rest/v1'
});
и затем запустите свой сервер с помощью:
ember server --proxy=http://site.work