2014-11-17 1 views
0

Ember-Data Model 인스턴스를 Handsontable (http://handsontable.com)에로드하려는 목적으로 배열로 변환하려고합니다. toArray() 메서드는 StatVals 모델의 속성을 Array로 변환하지 않고 StatVals 객체의 Array를 만드는 것으로 보입니다. Ember-Data Model Attributes로부터 Array를 올바르게 생성하는 방법은 무엇입니까?Ember-Data Model을 배열로 변환

또한 새 배열에 timeelement을 포함하고 statVal 모델의 다른 특성은 포함하지 않기를 바랍니다. 어떻게 접근해야합니까?

Handsontable을 구성보기 :

App.chapterView = Ember.View.extend({ 
    tagName: 'div', 
    classNames: ['dataTable'], 
    insertTable: function(){ 
    var divElement = jQuery('.dataTable'); 
    var data = this.get('controller.model.statVals').toArray(); 
    divElement.handsontable({ data: data }); 
    }.on('didInsertElement') 
}); 

모델 :

App.Chapter = DS.Model.extend({ 
    name: DS.attr('string'), 
    createdDate: DS.attr('date'), 
    statVals: DS.hasMany('statVal', { inverse: 'chapter', async: true}), 
    user: DS.belongsTo('user', { inverse: 'chapter', async: true}) 
}); 


App.StatVal = DS.Model.extend({ 
    time: DS.attr('date'), 
    Element: DS.attr('number'), 
    Chapter: DS.belongsTo('chapter'), 
    user: DS.belongsTo('user', { inverse: 'statVals', async: true}) 
}); 

내가 아래 관련 질문을 찾았지만 나는 그들이 내 상황에 가장 좋은 방법을 제시 것을 확신하고 있지 않다 :

ember-data as data for d3

What is the Ember way of converting retrieved Ember Data records into plain objects?

답변

1

statVals을 제거하면 Handsontable 테이블에 Ember-Data의 데이터를 입력 할 수 있습니다. 전체보기 코드 :

App.chapterView = Ember.View.extend({ 
     tagName: 'div', 
     classNames: ['dataTable'], 
     insertTable: function(){ 
     var divElement = jQuery('.dataTable'); 
     var data = this.get('controller.model').toArray(); 
     divElement.handsontable({ data: data }); 
     }.on('didInsertElement') 
    });