私はモデルレッスンを持っています。各レッスンは、ドロップダウンフィールドを使用してセクション(1から10の間の文字列:セクション)に割り当てることができます。セクションはレッスンテーブルの列です。レッスンはモデルコースに属しています(course_id経由)Double each.do同じモデルでループを繰り返す
サイドバーにこの構造を表示しようとしていますが、セクションの下の各セクションのレッスンとその特定のコースに属するレッスンのみで分割されていますvia:course_id)スクリーンショットを参照してください。次のコードで
、私は(ここでは2、セクション1および2)レッスンエントリで選択されていますが、コードは同じレッスンをループされるセクションの数を取得します。
<div id="sidebar-nav">
<ul id="dashboard-menu">
<strong>Curriculum</strong><br><br>
<% Lesson.where(course_id: @course).select(:section).each do |section| %>
<div class="panel curriculum-navigation__section" ng-class="">
<div class="panel-heading" role="tab" id="lecture-3"><%= @lesson.section %>. Section</div>
<ol>
<% Lesson.where(course_id: @course).each do |lesson| %>
<br>
<li><%= link_to lesson.name, lesson %></li>
<% end %>
</ol><br>
</div>
<% end %>
</div>
誰かが私に解決策を教えてもらえますか?私はこの問題を正しい方法で解決していますか?
ここでセクションはモデルではありません。レッスンモデルの文字列です。可能であれば、このためにセクションモデルを作成しないようにしました...長期的には私はおそらくこの方法で実装しますが、レッスンモデルだけのソリューションがあるのだろうかと疑問に思っていました – Jan
上記の変更を参照してください –