2013-02-18 2 views
0

Cheers! У меня есть модели структуры, как это:Ember.js правильный способ создания записей

App.Foo = DS.Model.extend({ 
    bars: DS.hasMany('App.Bar') 
}); 

App.Bar = DS.Model.extend({ 
    number: DS.attr('number'), 
    foo: DS.belongsTo('App.Foo') 
}); 

нормально ли это создать App.Bar запись первого? И если да, то как создать App.Foo в будущем и связать уже существующие записи баров с ним в правильном направлении? Я просто хочу знать, если в таких ситуациях есть что-то вроде «ember-way»?

ответ

1

Можно ли сначала записать запись в App.Bar?

Да.

если да, то как создать App.Foo в будущем и связать уже существующие записи баров к нему в правильном направлении?

bar = store.createRecord(App.Bar); 
store.commit(); 

//later 
foo = store.createRecord(App.Foo); 
store.commit(); 

//later 
foo.get('bars').addObject(comment); 
store.commit(); 

Для некоторых более подробных примеров см one-to-many-relationship-tests

+0

Нужны ли Foo и бара быть в одной транзакции? – xamenrax

+1

Теперь им действительно нужно быть в отдельных транзакциях. Существует открытый запрос pull-запроса, который добавит поддержку для создания родительских и дочерних записей в одной транзакции - см. Https://github.com/emberjs/data/pull/440 –

Смежные вопросы