我有一个模型叫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
与之相关的内容。我想我可以加载所有属性的整个记录,但我不需要它们,所以我宁愿不要。