Ale*_*lex 6 arrays hash pivot ruby-on-rails ruport
我正在制作成绩簿报告 - 一个二维表格,显示水平的课程名称和垂直学生的列表.
Student Name | LessonID x | LessonID x | LessonID x
Joe 95% 95%
Mary 80% 80%
Sam 80% 80%
Run Code Online (Sandbox Code Playgroud)
我的数据位于包含以下字段的表中:
student_id, lesson_id, grade_in_pct, grade_in_pts, grade_high, grade_low, grade_median
Run Code Online (Sandbox Code Playgroud)
学生和课程总数不固定.
我考虑过使用ruport/acts_as_reportable或mysql pivot程序,但看起来这个pivot只给了我一个维度.所以这不会起作用,因为在我看来,我想添加鼠标悬停功能和条件格式以显示每个年级的更多信息.
所以我认为我唯一的选择是生成一个嵌套的哈希,然后在视图中循环它.你的想法是什么?有人可以建议一种方法来构建嵌套哈希吗?循环250行(约50名学生,每门5堂课)是否过于处理器密集?
我被卡住了.请帮忙.谢谢!
我就是这样做的:
MODELS:
Student Model:
has_many: Grades
has_and_belongs_to_many: Lessons
Lesson Model:
has_many: Grades
has_and_belongs_to_many: Students
Grade Model:
belongs_to: Student, Lesson
CONTROLLER:
@data = Student.all
@lessons = Lesson.all
VIEW:
header_row
@data.each do |student|
@lessons.each do |lesson|
student.grades.find_by_lesson(lesson).some_data
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1379 次 |
| 最近记录: |