HAML Bootstrap 4和rails -根据本地变量展开手风琴



我有一个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

最新更新