2014-02-12 5 views
1

모든 정보가로드 된 편집 폼이 있는데, 저장 버튼을 클릭하면 아무 것도 변경되지 않아도 모든 필드가 저장됩니다 ..Ember는 아약스 전화로 양식을 저장합니다.

개체에서 색인에서 수정 한 값만 가져 오려고했습니다. 나는 Ember와 내가 어떻게 할 수 있는지 전혀 알지 못한다.

App.EnquiryUpdateController = Ember.ObjectController.extend({ 
id: null, 
isSaved: false, 

actions: { 
    save: function() { 
     var enquiry = this.get('model'); 
     console.log(enquiry); 
     var obj = JSON.parse(JSON.stringify(enquiry)); 
     obj = this.cleanObject(obj); 
     $.ajax({ 
      url: host + 'mdf/enquiry/' + enquiry.id, 
      type: 'POST', 
      accepts: 'application/json', 
      data: obj 
     }); 
     this.transitionToRoute('enquiry', enquiry) 
    } 
}, 
}); 

내 경로 : 여기

내 코드입니다

App.EnquiryUpdateRoute = Ember.Route.extend({ 
    model: function() { 
     return this.modelFor('enquiry'); 
    } 
}); 

그리고 내 템플릿 : 내가 CUSTOMERNAME을 업데이트하는 경우

<script type="text/x-handlebars" data-template-name="enquiry/update"> 

    <div class="enquiry-update"> 
     {{#if isSaved}} 
     <div class="saved">Enquiry updated successfully</div> 
     {{/if}} 
     <div> 
      <label>Customer Name</label> 
      {{input value=customerName}} 
     </div> 

     <div> 
      <label>Customer Email</label> 
      {{input value=customerEmail}} 
     </div> 

     <div> 
      <label>Customer Phone</label> 
      {{input value=customerPhone}} 
     </div> 
     <div> 
      <button {{action "save"}}>Save</button> 
     </div> 
    </div> 
</script> 

, 나는 단지 그것을 갖고 싶어 내 개체 {고객 이름 : "토토"} 대신 ..

감사!

답변

0

구현하려는 개념은 더러운 속성 검사입니다. 즉, 원본 데이터의 사본을 보관 한 다음 속성을 dirty로 표시하거나 속성을 비교하고 다른 속성 만 보내야합니다.

+0

Ember-Data로 원본 데이터를 유지하고 새로운 데이터와 비교한다는 것은 의미합니까? 젠장, 나는 그것에 대해 생각했지만 그래, 할 일이 무서울거야. 다른 방법으로 알고 있니? (클리너) – SuperMarco

+0

엠버 데이터를 사용하고 있습니까? – Kingpin2k

+0

내 서버에서 조회를 저장하지 않으려면 로그 사용자를 저장하기 위해 지금 만 사용합니다. (이름, 계좌 명 등의 정보) – SuperMarco

관련 문제