【发布时间】:2015-02-21 00:06:54
【问题描述】:
所以我有两个版本的这个问题,一个有点简化,一个有点像我想要达到的目标。
- 我有一个“学生”模型和一个“分数”模型。 “学生”有很多“分数”。在“学生”控制器上,我试图将计算属性“分数”设置为等于这些“分数”中的指定一个。
有什么方法可以传入另一个参数(例如,返回数组中的第一个参数)?
在控制器/学生中
score: function(){
return this.get('scores', 1);
}.property('scores')
-
这里有一个额外的维度。 “分数”模型也属于“客观”模型。我可以根据所选目标的 id 在我的“学生”控制器上设置“分数”属性吗?
-------------------------------------------更新---------------------------------------------- ------------
恐怕我还是被卡住了!我一直试图弄清楚更多,但无济于事。我将概述一些代码,希望能让我的问题更清楚。
我的模型
学生
scores: DS.hasMany('score', {async: true}),
name: DS.attr('string')
目标
name: DS.attr('string'),
scores: DS.hasMany('score', {async : true})
分数
scoreResult: DS.attr('number'),
objective: DS.belongsTo('objective', {async: true}),
student: DS.belongsTo('student', {async: true})
- 所以我真正想做的是在“student”控制器中将“score”属性设置为“scoreResult”整数,并根据分数模型中的objective_id 值进行过滤。
所以在其他地方,我可以选择一个目标,获取它的objective_id,然后使用它来将学生控制器的“分数”设置为相应目标的分数。
我希望这是有道理的。我真的很难找到任何教程/指导,并努力为自己弄清楚。非常感谢任何帮助。
【问题讨论】:
-
对于第 2 部分,您应该包含模型、路由和控制器的代码。此外,不清楚您所说的“选择”目标是什么意思。它是如何选择的?也许也包括模板代码。
-
感谢您的回复。我会有点慢回复,我会尝试找出其他一些事情,然后再回到这个。谢谢
-
我有空再看看你的问题。同时,如果您可以创建一个 jsbin,它将更容易理解您要做什么,并找到问题。
-
@rjoxford 您是否要根据objective_id 获得学生的分数?
标签: ember.js