というモデルがあり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日付を取得する必要があります。これが役立つと思いましたが、次のeval_numberコードで1 つ以上のレコードが返されます。
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個別の s が選択されているようですが、個別の列もcreated_at選択されているようです(もちろんすべて異なります)。これにより、要素が正しく.all[i]検出されるため、基本的には役に立たなくなりますが、返された配列には 、指定された[0], [1], [2], etc数よりもはるかに多くの要素があります。i
eval_number個別のものを見つけて、それに付随するものだけをロードしたいcreated_date。レコード全体をすべての属性でロードできると思いますが、それらは必要ないので、むしろそうしたくありません。