问题描述
我有一个包含课程的 rails 应用程序。每门课程都有章节,每章都有课程。我正在使用引导手风琴来显示当前课程的章节和课程列表,但无法弄清楚如何获取用户正在展开的当前章节,但将其余章节折叠起来。我尝试在底线下添加渲染课程,尝试了一些 javascript,不同级别的缩进。手风琴可以工作,但一切都开始展开。
#accordion
.list-group#scrollable
- @chapters.each do |chapter|
.panel.panel-default
.list-group-item.shadow
%a{"data-parent" => "#accordion","data-toggle" => "collapse",:href => "#collapse#{chapter.id}"}
= render 'chapters/chapter_preview',chapter: chapter
-if @lesson.chapter_id = chapter.id
.panel-collapse.collapse.show{:id => "collapse#{chapter.id}"}
- chapter.lessons.rank(:row_order).each do |lesson|
.panel-body
- if lesson.eql?(@lesson)
%li.list-group-item.list-group-item-success
= render 'lessons/lesson_student',lesson: lesson
- else
%li.list-group-item.list-group-item-secondary
= render 'lessons/lesson_student',lesson: lesson
-else
.panel-collapse.collapse.in{:id => "collapse#{chapter.id}"}
解决方法
您打错了可能导致问题的原因
- if @lesson.chapter_id = chapter.id
# should be
- if @lesson.chapter_id == chapter.id
# if lesson belongs_to chapter and chapter has_many lessons you could even get rid of the id:
- if @lesson.chapter == chapter