2012-10-16 27 views
2

有沒有辦法訪問嵌入式模型對象的父級對象?例如:訪問嵌入式對象的父級記錄

App.Person = DS.Model.extend({ 
    name : DS.attr('string'), 
    emails : DS.hasMany('App.Email', { embedded: true }) 
}); 

App.Email = DS.Model.extend({ 
    label : DS.attr('string'), 
    email : DS.attr('string'), 

    setParentUpdated: function() { 
     if(this.get('isDirty') == true) 
      // this.get('parent').get('stateManager').goToState('updated'); 
      // I would like to do something like this.get('parent') 
      // to access 'App.Person' instance object 
    }.observes('isDirty') 
}); 

回答

5

爲什麼不簡單設置一個belongsTo關係?

App.Email = DS.Model.extend({ 
    person: DS.belongsTo('App.Person') 

    //... 
}); 

然後,您將能夠使用電子郵件的person屬性。

+0

謝謝邁克!但是我不能這樣做,因爲'App.Email'不僅嵌入在'App.Person'中,而且嵌入在其他一些模型中。 – ThomasDurin

+0

它不應該是一個問題,因爲關係是懶惰的,所以只有在解除引用時才加載。如果不是,則不會發生任何事情,從而保持現在的行爲。 –

+0

@Thomas你應該能夠在模型上定義多個belongsTo關係。 – mehulkar