2013-05-14 65 views
2

比方说,我有这样一些模型:来自属于关联关系找对象

App.Employee = DS.Model.extend({ 
    name: DS.attr('string'), 

    department: DS.belongsTo('App.Department')  
}); 

在我的控制,我可以说

var name = thisEmployee.get('name'); 

但我不能说

var department = thisEmployee.get('department'); 

所以我的问题是如何在关系的另一端获得对象的引用。

+1

为什么你不能说'thisEmployee.get( '部门');'在你的控制器,会发生什么?你有错误吗?或者它返回null? – intuitivepixel 2013-05-14 15:51:29

+0

它返回null – onezeno 2013-05-14 15:54:13

回答

3

我认为问题在于这样一个事实:你也许没有规范的关系应该怎么加载...尝试设置你的适配器映射是这样的:

App.Adapter.map('App.Employee', { 
    department: {embedded: 'always'} 
}); 

这应该侧加载department关系自动请求父母模型Employee与eg App.Employee.find();

希望它可以帮助

+0

就是这样:)需要注意的一点是:直到我将代码移到创建适配器的App.Store块之前,它才工作。 – onezeno 2013-05-14 16:54:00

+2

这是记录在哪里? – kmiyashiro 2013-07-19 18:24:17

+1

@kmiyashiro,无处。你可以通过两种方式找到它:1.阅读源代码,或者2.从Yehuda Katz(ember核心团队)看这个答案http://stackoverflow.com/questions/14320925/how-to-make-embedded-hasmany -relationships工作与 - 烬数据 – intuitivepixel 2013-07-19 19:08:53