Railsアプリケーションを作成しています。チュートリアルのWebサイトを作成する必要があります。そのため、インデックスページにコースのリストを表示し、ユーザーがコースを選択すると、さまざまなセクションとサブセクションがあるショーページにリダイレクトされます。そのコースはそこにあります。1つのセクションの下にサブセクションはありません。**For example**
Course is Ruby on rails,
この下に次のようなセクションがあります
1.Introduction
1.1 What is ruby
1.2 Small program in ruby
1.2.1 Say hello world
1.2.1.1 Welcome user
1.2.1.2 array in ruby
1.2.2 User Interface
1.3 Introduction to irb
2. Introduction to rails.
この種のネストされたliがアプリケーションに必要です。
ネストされたliのコードをヘルパーフォームに記述しました。courses_helper.rb
ファイルのコードは
def nested_li(objects)
output = ""
output += "<ul>"
path = [nil]
objects.each do |o|
if o.parent_id != path.last
# we are on a new level, did we decent or ascent?
if path.include?(o.parent_id)
# remove wrong wrong tailing paths elements
while path.last != o.parent_id
path.pop
output += "\n</ul>"
end
else
path << o.parent_id
output += "\n<ul>"
end
end
output += "\n<li>#{yield o}</li>"
end
#pop off unfinished paths elements
while path.length > 1
path.pop
output += "\n</ul>"
end
output += "\n</ul>"
return output.html_safe
end
そして私show page
の中で私はそれをこのように呼んでいます:
<div class="row">
<div id="main_content" class="span9">
<h2><%= @course.title.titleize if !@course.title.nil? -%> </h2>
<p> <%= @course.notes %></p>
<h3> List </h3>
<div class="section">
<ul>
<%= nested_li(@sections) do |section| %>
<%= link_to section.title,section_path(section.id) %>
<% end %>
</ul>
</div>
</div><!-- /main_content -->
<%= render :partial => "/shared/side_bar" %>
</div><!-- /row -->
誰かがこの問題を解決する方法を教えてもらえますか?上記の例で示したように、このコードでは、ネストされたサブセクションを正しく呼び出すことができません。私はそれにclosure_treegemを使用しています。私を助けてください。ありがとうございました