我有一个模型叫Evaluation. evaluation创建 an 时,将使用eval_number它创建 an。有很多evaluations相同的eval_number。
这是一个例子:
- !ruby/object:Evaluation
attributes:
id: 2023
score: 3
created_at: 2013-09-08 13:10:53.000000000 Z
updated_at: 2013-09-08 13:10:53.000000000 Z
student_id: 26
goal_id: 50
eval_number: 33
- !ruby/object:Evaluation
attributes:
id: 2099
score: 4
created_at: 2013-09-08 13:19:12.000000000 Z
updated_at: 2013-09-08 13:19:12.000000000 Z
student_id: 26
goal_id: 36
eval_number: 34
- !ruby/object:Evaluation
attributes:
id: 2100
score: 3
created_at: 2013-09-08 13:19:12.000000000 Z
updated_at: 2013-09-08 13:19:12.000000000 Z
student_id: 26
goal_id: 37
eval_number: 34
- !ruby/object:Evaluation
attributes:
id: 2101
score: 4
created_at: 2013-09-08 13:19:12.000000000 Z
updated_at: 2013-09-08 13:19:12.000000000 Z
student_id: 26
goal_id: 38
eval_number: 34
在一个视图中,我想evaluation在表头中显示给定的创建日期。它应该如下所示:
date_1 | date_2 | date_3 | date_4 | etc..
要做到这一点,我需要得到不同evaluation_numbers的 +created_at日期。我认为这会有所帮助,但使用此代码会返回不止一条记录eval_number:
def eval_date(i)
evals = self.goals.first.evaluations
eval = evals.select("distinct(eval_number), created_at").all[i]
eval.created_at.to_date
end
似乎eval_number正在选择distinct ,但也created_at选择了不同的列(当然它们都是不同的)。这使得它.all[i]基本上无用,因为它正确地找到了元素 - 但是返回的数组中 [0], [1], [2], etc的给定数量远远超过。i
我想找到一个独特的eval_number并仅加载created_date与之相关的内容。我想我可以加载所有属性的整个记录,但我不需要它们,所以我宁愿不要。