2016-09-16 5 views
0

Использования Ember-2.6 с Rails-4.2.7 серверных JSONAPI-Ресурсы-0.8.0.beta2 камня.Ember данные `include` Использование JSONAPI не загружаются полезной нагрузкой

Я заметил, что иногда, когда я пытаюсь дополнить дополнительные ресурсы, они возвращаются в мою полезную нагрузку, но не попадают в магазин Ember должным образом. Затем выясняется, что мой код в зависимости от этих ресурсов не ведет себя так, как ожидалось.

Итак, почему, когда моя полезная нагрузка включает все эти дополнительные ресурсы, они не попадают в магазин Ember? Почему Ember Data не сообщает, что есть элементы полезной нагрузки, которые она не обрабатывает?

ответ

1

Оказывается, что мои объявления о моих взаимоотношениях внутри моих моделей Ember-Data использовали имена верблюжьего случая, но ДОЛЖНЫ использовать дешифрованные объявления.

Например:

// Example Investment model (investment.js) 
export default DS.Model.extend({ 
    // ... 
    /** 
    * The investment can have many transactions. 
    */ 
    investmentTransactions: DS.hasMany('investmentTransactions'), 
    // ... 
}); 

... будет прекрасно работать в большинстве ситуаций. Однако при попытке в сторону нагрузки (включают) мои данные в запросе:

store.findRecord('investment', someId, { include: 'investment-transactions' }); 

... вернет инвестиционную полезную нагрузку наряду со всеми инвестиционными-транзакций, однако моя модель Эмбер Данные не могут видеть тех, сделки. Чтобы исправить это, моя hasMany декларации необходимо использовать dasherized имя (это также относится и к любым belongsTo заявлений вы можете иметь):

/** 
* The investment can have many transactions. 
*/ 
investmentTransactions: DS.hasMany('investment-transactions'),