我想采用这样的结构,其中每个标头都有一个标题和项目数组:
header
header
\item
item
item
header
header
item
header
item
item
并将其变成这样的列表:
header
header
item
item
item
header
header
item
header
item
item
我需要能够处理像6深的嵌套。现在,我只是做一个每个循环并检查它是否有项目或是否有标题?但我真的不希望有6个级别的这个 - 我想做一些循环但不知道该怎么做。
答案 0 :(得分:0)
我发现很多网站都指向一个现在处于离线状态的网站。 Lucky archive.org随时为您提供帮助! [link]
我已经实施了。帮手:
def find_all_subcategories(category)
if category.children.size > 0
ret = '<ul>'
category.children.each { |subcat|
if subcat.children.size > 0
ret += '<li>'
ret += link_to subcat.name, subcat
ret += find_all_subcategories(subcat)
ret += '</li>'
else
ret += '<li>'
ret += link_to subcat.name, subcat
ret += '</li>'
end
}
ret += '</ul>'
ret.html_safe
end
end
然后在视图中:
ul
- for category in @categories
li
= link_to category.name, category
= find_all_subcategories(category)
只需检查您用于模型的属性即可。就我而言,它是name
。
所以,也许迟到,但可以帮助别人。