Ember-data embedded zapisuje aktualny stan?
Naprawdę utknąłem z mnóstwem problemów spowodowanych przez Ember-data i brakuje w nim obsługi wbudowanych rekordów.
Przeszukałem całą sieć, większość postów jest nieaktualna inne są nieaktualne + wymaga ode mnie korzystania z bibliotek stron trzecich lub drukowania 300 linii specjalnego kodu z wieloma wadami.
Nie mam pojęcia jak używać wbudowanych rekordów z Ember-data w obecnym stanie?
Edit: {[8] } jest teraz nowa dokumentacja http://emberjs.com/api/data/classes/DS.EmbeddedRecordsMixin.html
1 answers
Za pomocą ActiveModelSerializer
możesz dołączyć EmbeddedRecordsMixin
, który pozwala na korzystanie z wbudowanych rekordów. (W wersji 1.0 beta 9 + można użyć JsonSerializer
/RESTSerializer
jak również)
Serializer
App.ColorSerializer = DS.ActiveModelSerializer.extend(DS.EmbeddedRecordsMixin, {
attrs: {
foos: {embedded: 'always'}
}
});
Modele
App.Color = DS.Model.extend({
color: DS.attr(),
foos: DS.hasMany('foo')
});
App.Foo = DS.Model.extend({
name: DS.attr()
});
JSON
{
colors:[
{
id: 1,
color: "red",
foos:[
{
id:1,
name:'something 1'
},
{
id:2,
name:'something 2'
}
]
},
...
Http://emberjs.jsbin.com/qagalabaso/1/edit
Dla RESTSerializer
i JsonSerializer
wynika to z tego samego wzoru
App.ColorSerializer = DS.RESTSerializer.extend(DS.EmbeddedRecordsMixin, {
attrs: {
foos: {embedded: 'always'}
}
});
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-07 02:48:49