Если вы хотите отобразить все главы и все разделы для всех глав, я думаю, что вы ищете это:
@chapters = Chapter.all
По вашему мнению, вы можете вложить петли так:
<% @chapters.each do |chapter| %>
<div id="container">
<%= chapter.name %><br/>
<% chapter.sections.each do |section| %>
<%= section.name %><br/>
<% section.topics.each do |topic| %>
<%= topic.name %><br/>
<%= topic.description %><br/>
<br/>
<% end %>
<% end %>
</div>
<% end %>
Если вы хотите прочитать только определенную главу, вы можете сделать следующее:
@selected_chapter = Chapter.find(id)
Где id - это идентификатор главы, которую вы хотите найти. Имейте в виду, это не обязательно означает, что id = 10 вернет десятую главу. Если вы хотите вернуть определенно пронумерованную главу, вы можете использовать лимит и смещение. Например, в Rails 3 вы можете получить одну запись, начиная с записи 10, выполнив следующее:
Chapter.limit(1).offset(10)