Как правильно создать связи в ember store, и получить данные из store в контроллере

244
28 июля 2017, 03:44

Добрый день. Есть такая проблема. Есть модель ember - orders, она должна прийти из бекенда, но в этой модели должно быть поле statuses, которое формируется на фронте из модели statuses.

Как сформировать модель так, что бы она получала данные из бэка, а часть данных из фронта.

routers/orders/new.js

model: function(params) {
    var store = this.get('store');
    let blogPost = store.createRecord('dealer-statuses', [
        {id:'FindExecutor', text: "purpose of courier"},
         ....
        {id:9, text: "Removed"}
    ]);
    return store.query('orders', {});
}

model/statuses.js

export default DS.Model.extend({
  count: DS.attr(),
  text: DS.attr(),
});

model/orders.js

export default DS.Model.extend({
     statuses: DS.belongsTo('dealer-statuses'),
     text: DS.attr()
});

И как получить данные допустим в контроллере. Делаю по клику action :

actions: {
    test: function () {
        debugger;
        this.get('store').query('orders', {}).then(function() {
                console.log('test')
        })
    }
 }
Но получаю ошибку 

Cannot read property 'type' of null

Адаптер ( пока тестовые данные):

export default DS.JSONAPIAdapter.extend({
query(store, type, query) {
    var service = this.get('service');
    return new Ember.RSVP.Promise(function(resolve, reject) {
        var data = {
                    "data": [ {
                        "type": "orders",
                        "id": "1",
                        "attributes": {
                            text: 1
                        }
                    }]
                };
        resolve(data);
    });
}

});

READ ALSO
Как отрендерить select при ajax-запросе?

Как отрендерить select при ajax-запросе?

Суть такая: я выбираю первый select и в зависимости от значениея value (из первого селекта), у меня строится второй selectт

213
Узнать имеет ли объект/переменная/поле значение

Узнать имеет ли объект/переменная/поле значение

Возможно ли в js узнать существование значения отличного от null? В голову приходит простое решение:

209