2012-12-17 5 views
0

데이터베이스에 저장된 일부 특성을 가진 모델과 다른 위치에 저장되어있는 하나의 특성을 가진 모델이 있다고 가정 해보십시오. 그러나 클라이언트는 하나의 모델로 받아들입니다. 단일 JSON blob.Ember-data에서 사용자 지정 방식으로 특성 저장하기

App.Tournament = DS.Model.extend({ 
    name:    DS.attr("string"), 
    ... 
    is_registered:  DS.attr("boolean") 
}); 

attribut is_registered 서버에서 모델의 일부가 아니며, 나는 따로 저장할 싶습니다. 여기에 예를

tournament = App.store.find(App.Tournament, 1); 
tournament.set("name", "foo bar"); 
tournament.set("is_registered", true); 

App.store.commit(); 

그리고이 속성은 기본값이 아닌 다른 저장 그런

PUT /tournaments/1 name: "foo bar" 
POST /tournaments/1/register 

또는 뭔가처럼 뭔가를 할 것입니다. 이 작업을 수행하는 간단한 방법이 있습니까, 아니면 잘못된 방식으로 문제에 접근하고 있습니까?

답변

2

서버에서이 복잡성을 관리합니다. 두 개 이상의 요청에서 하나의 논리 항목을 클라이언트에 저장하는 문제는 요청 중 하나가 실패하면 데이터가 손상 될 수 있다는 것입니다. 어떤 데이터가 어디로 향하는지를 조정하는 일종의 Facade 서비스를한다면, 그 작업을 중심으로 트랜잭션을 래핑 할 수 있습니다.

관련 문제