2014-06-10 2 views
0

belongsTo 관계를 갖는 새 레코드를 만들 때 값을 가져 오는 데 문제가 있습니다.Ember.js : belongsTo 관계가있는 템플릿에서 값 가져 오기

// templates/components/user.hbs 
First Name: 
{{view Ember.TextField valueBinding="user.name.first" required="required"}} 

Middle Name: 
{{view Ember.TextField valueBinding="user.name.middle" required="required"}} 

Last Name: 
{{view Ember.TextField valueBinding="user.name.last" required="required"}} 


// models/user.js 
export default DS.Model.extend({ 
    name: DS.belongsTo('name', {embedded: 'always'}), 
}); 

// models/name.js 
export default DS.Model.extend({ 
    first: DS.attr('string'), 
    middle: DS.attr('string'), 
    last: DS.attr('string') 
}); 


// from my route 
model: function() { 
    return this.store.createRecord('user'); 
} 

// create action 
var user = this.controller.get('model'); 
console.log(user.get('name').get('first')); // it says that the 'name' is null 

하지만 백엔드에서 지속 된 데이터를 편집하려고 시도하면 'name'의 값에 액세스 할 수 있습니다.

+0

안녕하세요 환영을 읽어보십시오. 도움말 페이지, 특히 [여기에는 어떤 주제가 있습니까?] (http://stackoverflow.com/help/on-topic) 및 [어떤 유형의 질문을하지 않아야합니까?] 섹션을 읽으십시오. ] (http://stackoverflow.com/help/dont-ask). 더 중요한 것은 [Stack Overflow question checklist] (http://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist)를 읽어보십시오. 또한 [SSCCE] (http://www.sscce.org/)가 무엇인지 배우고 싶을 수도 있습니다. – JamesENL

답변

0

제한된 정보 만 있으면 몇 가지 문제점이 있습니다. {embedded:'always'}은 얼마간 사용 중지되었으며 user을 작성하면 name 레코드가 자동으로 생성되지 않습니다.

model: function(){ 
    var store = this.store, 
    name = store.createRecord('name'), 
    user = store.createRecord('user', {name:name}); 

    return user; 
} 

당신에 유래로의 전환 문서 https://github.com/emberjs/data/blob/master/TRANSITION.md

+0

고마워. 그것은 매력처럼 작동합니다. – user3724316

관련 문제