0
Ember-Data 용 사용자 지정 어댑터를 Rhom API 용으로 작성했습니다. 새 레코드를 만들 때 createRecord가Ember-Data 사용자 지정 어댑터
'use strict';
DS.RhomAdapter = DS.Adapter.extend(Ember.Evented, {
extractVars: function(rhomRecord) {
return rhomRecord.vars();
},
objectToId: function(record) {
record["id"] = record.object;
return Ember.copy(record);
},
find: function(store, type, id) {
console.log('find');
var record = Rho.ORM.getModel(this.model).find(
'first',
{
conditions: {object: id}
}
);
var result = record.vars();
result["id"] = result.object;
return Ember.RSVP.resolve(result);
},
findAll: function(store, type) {
console.log('findALl');
var records = Rho.ORM.getModel(this.model).find('all');
var results = records.map(this.extractVars);
var results = results.map(this.objectToId);
var promise = new Ember.RSVP.Promise(function(resolve, reject){
// succeed
resolve(results);
// or reject
reject([]);
});
return promise;
},
createRecord: function(store, type, record) {
Rho.ORM.getModel(this.model).create(record.toJSON());
return Ember.RSVP.resolve();
},
updateRecord: function(store, type, record) {
console.log(record.get('id'));
var result = Rho.ORM.getModel(this.model).find('first', {conditions: {object: record.get('id')}});
result.updateAttributes(record.toJSON());
return Ember.RSVP.resolve();
},
deleteRecord: function(store, type, record) {
var result = Rho.ORM.getModel(this.model).find('first', {conditions: {object: record.get('id')}});
result.destroy();
return Ember.RSVP.resolve();
}
});
라고 : 여기
는 코드입니다. 그러나 엠버는 창조 된 대상의 이드를 알지 못합니다. 뷰에서 해당 객체를 수정하려고하면 updateRecord가 호출되고 해당 객체는 전달되지만 해당 객체에는 id가 없습니다. 그렇다면 ID를 모르는 경우 백엔드를 어떻게 업데이트합니까?
오오오 !! 승인. 시도해 볼게. –
내 문제가 해결되었습니다. 감사. – hiroshi