【发布时间】:2016-12-10 18:24:29
【问题描述】:
我已经阅读了很多指南,但我不明白为什么我的方法不起作用:
module StudentsHelper
def get_training_projects
@training_projects_student = TrainingProject.where(student_id: @student.id)
@training_projects_student.count
end
def get_training_courses
@training_course_student = TrainingCourse.joins(:courses_students).where(courses_students: { student_id: @student.id })
@training_course_student.count
end
def storico_studente
n = get_training_courses + get_training_projects
i_projects = 0
i_courses = 0
until i_courses + i_projects < n
if @training_course_student[i_courses].data_inizio < @training_projects_student[i_projects].data_inizio
render partial: "training_course", collection:@training_course_student[i_cousers]
i_courses += 1
else
render partial: "training_project", collection: @training_course_student[i_projects]
i_projects += 1
end
end
end
end
“_training_project.html.erb”和“_training_course.html.erb”文件位于students文件夹中。
更新:
在上面的代码中,循环是错误的,永远不会进入。
def storico_studente
n_training_courses = get_training_courses
n_training_projects = get_training_projects
n = n_training_courses + n_training_projects
i_projects = 0
i_courses = 0
while i_courses + i_projects < n
if @training_course_student[i_courses].nil?
render partial: 'students/training_project', collection: @training_course_student[i_projects]
i_projects += 1 if i_projects < n_training_projects
elsif @training_projects_student[i_projects].nil?
render partial: 'students/training_course', collection: @training_course_student[i_courses]
i_courses += 1 if i_courses < n_training_courses
elsif @training_course_student[i_courses].data_inizio < @training_projects_student[i_projects].data_inizio
render partial: 'students/training_course', collection: @training_course_student[i_courses]
i_courses += 1 if i_courses < n_training_courses
else
render partial: 'students/training_project', collection: @training_course_student[i_projects]
i_projects += 1 if i_projects < n_training_projects
end
end
end
现在循环工作正常,我可以在日志中看到正确的调用:
Rendered students/_training_course.html.erb (0.0ms)
Rendered students/_training_project.html.erb (0.0ms)
Rendered students/_training_course.html.erb (0.0ms)
文件仅包含(暂时)
<div>ptoject</div>
结束
<div>course</div>
这说明加载时间(0.0ms)
但还是不行!
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 helper