#javascript #ember.js #ember-data
Вопрос:
Мой route.js
export default Route.extend(ResetScrollMixin, { model(params, { queryParams }) { return hash({ ruleSetVersions: this.store.queryRecord('rule-set-versions', { rule_set_id: params.rule_set_id, is_archived: false, page: queryParams.page || 1 }), ruleSet: this.store.findRecord('rule-set', params.rule_set_id) }) }, actions: { reload() { location.reload() } } });
Модели
rule-set-versions.js
export default DS.Model.extend({ rule_set_versions: DS.belongsTo('paginated-versions') })
paginated-versions.js
export default DS.Model.extend({ rule_set_versions: DS.hasMany('rule-set-version'), pagination: DS.belongsTo('pagination'), })
pagination.js
export default DS.Model.extend({ page_number: DS.attr('number'), page_size: DS.attr('number'), total_pages: DS.attr('number'), total_rows: DS.attr('number') })
rule-set-versions.js это сериализатор для модели версий набора правил
var underscore = Ember.String.underscore; export default DS.RESTSerializer.extend(DS.EmbeddedRecordsMixin, { attrs: { rule_set_versions: { serialize: "id", }, pagination: { serialize: "id", }, }, keyForRelationship: function (rawKey) { console.log("here") return underscore(rawKey) "_id"; } })
Мой ответ API, который был усечен.
{ "rule_set_versions": { "id": 100, "pagination": { "id": 100, "page_number": 1, "page_size": 5, "total_pages": 1, "total_rows": 3 }, "rule_set_versions": [{ "id": 934, .... }] } }
Я становлюсь нулевым, когда я это делаю this.get("model.ruleSetVersions")
. Я также пробовал и следовал документации, но не смог найти решение.