2014-12-07 2 views
0

Я пытаюсь загрузить загруженный список моделей. Я понял из демонстрационной версии, что EmbeddedRecordsMixin был способ пойти, но это все еще не сработало: «Ошибка: Assertion Failed: TypeError: factory is undefined» Я попытался отделить их от своих приборов, и это работает просто отлично, поэтому я должен что-то пропускать в части встраивания, хотя это следует из этого: http://emberjs.com/api/data/classes/DS.EmbeddedRecordsMixin.htmlEmber data EmbeddedRecordMixin

Не работает ли это с приборами?

var App = window.App = Ember.Application.create({ 
    LOG_TRANSITIONS: true 
}); 
var attr = DS.attr; 

App.Modificators = DS.Model.extend({ 
    "tpe": attr('string') 
}); 
App.SpecialStuff = DS.Model.extend({ 
    "title": attr('string'), 
    "body": attr('string'), 
    "modificators": DS.hasMany('modificators') 
}); 

App.SpecialStuffSerializer = DS.RESTSerializer.extend(DS.EmbeddedRecordsMixin, { 
    attrs: { 
     "modificators": { embedded: 'always' } 
    } 
}); 

App.SpecialStuff.reopenClass({ 
    FIXTURES: [{ 
     "id": 79, 
     "title": "fewfew", 
     "body": "kkk", 
     "modificators": [{ 
      "id": 1, 
      "tpe": "vv", 
     }, 
     { 
      "id": 2, 
      "tpe": "mv", 
     }] 
    }] 
}); 
App.SpecialStuffIndexRoute = Ember.Route.extend({ 
    model: function (params) { 
    return this.store.find('special_stuff'); 
    } 
}); 

App.Router.map(function() { 
    // Add your routes here 
    this.resource('specialStuff', function() {}); 
}); 

Ember.Inflector.inflector.uncountable('modificators'); 
Ember.Inflector.inflector.uncountable('special_stuff'); 
App.ApplicationAdapter = DS.FixtureAdapter.extend({}); 

ответ

1

Адаптер адаптера Ember Data не использует сериализатор для извлечения данных. Вам лучше смеяться над json-звонками с чем-то вроде https://github.com/jakerella/jquery-mockjax и использовать адаптер для отдыха.

Вот некоторые примеры: Ember-data embedded records current state?

+0

Ho вот где я был близок к мышлению. Разве это не делает светильники совершенно бесполезными, если вы не можете просто вернуть то, что вернет ваш сервер? – charly

+0

Все зависит от того, был ли этот адаптер создан для использования имитации вашего сервера или просто для того, чтобы легко вставить светильники в данные ember. Я не знаю, лично, если я пытаюсь подражать тому, что я планирую делать, я использую адаптер и сериализатор, который я планирую использовать, и mockjax. – Kingpin2k

+0

Да, я предполагаю, что я принимал Fixtures как насмешку, когда у него, вероятно, были другие приложения. Спасибо за объяснение! – charly