Ruby on rails 3.1 如何在视图中调用嵌套的_li
我正在创建一个rails应用程序,其中我必须创建一个教程网站,因为我想在我的索引页面上显示课程列表,当用户选择一门课程时,它将重定向到其显示页面,其中包含该课程的不同部分和子部分,在一个部分下可以没有任何子部分<代码>**例如**Ruby on rails 3.1 如何在视图中调用嵌套的_li,ruby-on-rails-3.1,Ruby On Rails 3.1,我正在创建一个rails应用程序,其中我必须创建一个教程网站,因为我想在我的索引页面上显示课程列表,当用户选择一门课程时,它将重定向到其显示页面,其中包含该课程的不同部分和子部分,在一个部分下可以没有任何子部分**例如** 课程是rubyonrails,下面我们有这样一节 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.
课程是rubyonrails,
下面我们有这样一节
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\u 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
谁能帮我解决这个问题。正如我在上面的示例中所示,此代码无法正确调用嵌套的子节。我用了一颗树宝石。请帮帮我。谢谢def显示部分(部分,课程id)
def display_sections(sections, course_id)
section_array = []
<ul class='nav nav-list '>"
for section in sections
if(!section_array.include?(section.id))
if section.children.present?
ret += "<li class='item'>"
ret += "<div id='sectiontitle_#{section.id}' class='section_title'>"
ret +="<span id='section_#{section.id}'>"
ret += "</span>"
ret += "<br/>"
ret += "</div>"
ret += find_all_subsections(section, section_array, course_id)
ret += "</li>"
section_array << section.id
else
ret += "<li class='item'>"
ret += "<div id='sectiontitle_#{section.id}' class='section_title'>"
ret += link_to section.title,course_section_path(course_id, section.id), :title=> "#{section.id}"
ret +="<span id='section_#{section.id}'>"
ret += "</span>"
ret += "</div>"
ret += "</li>"
section_array << section.id
end
end
end
ret += "</ul>"
ret.html_safe
end
def find_all_subsections(section, section_array, course_id)
if section.children.size > 0
ret = '<ul class="nav nav-list">'
section.children.each { |subsection|
section_array << subsection.id
if subsection.children.present?
ret += "<li>"
ret += "<div id='sectiontitle_#{subsection.id}' class='section_title'>"
ret += link_to h(subsection.title),course_section_path(course_id, subsection.id), :class => 'sub_item', :title=> "#{subsection.id}"
ret += "<br/>"
ret +="<span id='section_#{subsection.id}'>"
ret += "</span>"
ret += "</div>"
ret += find_all_subsections(subsection, section_array, course_id)
ret += '</li>'
else
ret += "<li class='item'>"
ret += "<div id='sectiontitle_#{subsection.id}' class='section_title'>"
ret += link_to h(subsection.title),course_section_path(course_id, subsection.id), :class => 'sub_item', :title=> "#{subsection.id}"
ret +="<span id='section_#{subsection.id}' style='display:none;' class='pull-right'>"
ret += "<br/>"
ret += "</div>"
ret += '</li>'
section_array << subsection.id
end
}
ret += '</ul>'
end
end
节_数组=[]
def display_sections(sections, course_id)
section_array = []
<ul class='nav nav-list '>"
for section in sections
if(!section_array.include?(section.id))
if section.children.present?
ret += "<li class='item'>"
ret += "<div id='sectiontitle_#{section.id}' class='section_title'>"
ret +="<span id='section_#{section.id}'>"
ret += "</span>"
ret += "<br/>"
ret += "</div>"
ret += find_all_subsections(section, section_array, course_id)
ret += "</li>"
section_array << section.id
else
ret += "<li class='item'>"
ret += "<div id='sectiontitle_#{section.id}' class='section_title'>"
ret += link_to section.title,course_section_path(course_id, section.id), :title=> "#{section.id}"
ret +="<span id='section_#{section.id}'>"
ret += "</span>"
ret += "</div>"
ret += "</li>"
section_array << section.id
end
end
end
ret += "</ul>"
ret.html_safe
end
def find_all_subsections(section, section_array, course_id)
if section.children.size > 0
ret = '<ul class="nav nav-list">'
section.children.each { |subsection|
section_array << subsection.id
if subsection.children.present?
ret += "<li>"
ret += "<div id='sectiontitle_#{subsection.id}' class='section_title'>"
ret += link_to h(subsection.title),course_section_path(course_id, subsection.id), :class => 'sub_item', :title=> "#{subsection.id}"
ret += "<br/>"
ret +="<span id='section_#{subsection.id}'>"
ret += "</span>"
ret += "</div>"
ret += find_all_subsections(subsection, section_array, course_id)
ret += '</li>'
else
ret += "<li class='item'>"
ret += "<div id='sectiontitle_#{subsection.id}' class='section_title'>"
ret += link_to h(subsection.title),course_section_path(course_id, subsection.id), :class => 'sub_item', :title=> "#{subsection.id}"
ret +="<span id='section_#{subsection.id}' style='display:none;' class='pull-right'>"
ret += "<br/>"
ret += "</div>"
ret += '</li>'
section_array << subsection.id
end
}
ret += '</ul>'
end
end