【发布时间】:2013-09-29 09:23:52
【问题描述】:
我有一个名为Evaluation 的模型。创建 evaluation 时,会使用它创建 eval_number。有很多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 日期。我认为this 会有所帮助,但使用此代码,每个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_numbers,但也不同的created_at 列(当然都是不同的)。这使得.all[i] 基本上没用,因为它正确地找到了[0], [1], [2], etc 元素——但是返回的数组中的i 的给定数量远远超过了任何数量。
我想找到一个独特的eval_number 并只加载与之配套的created_date。我想我可以加载所有属性的整个记录,但我不需要它们,所以我宁愿不要。
【问题讨论】:
标签: mysql ruby-on-rails ruby-on-rails-3.2 distinct