我有点卡住了,可能没有正确理解AR。这就是我所拥有的:
module PagesHelper
def page_loop(pages)
output = ""
pages.each do |page|
output << "<li><a href=\"" << page.title << "\">" << page.title << "</a>"
children = page.children
if children.size > 0
output << "<ul>"
page_loop(children)
output << "</ul>"
end
output << "</li>"
end
return output
end
def navigation_list
parent_pages = Page.where("parent_page_id IS NULL").order("title")
output = "<ul>"
output << page_loop(parent_pages)
output << "</ul>"
end
end
然后是模型中的以下内容:
def children
Page.where("parent_page_id = ?", id)
end
由于某种原因,它返回以下输出,其中我有两个页面,test,另一个页面,其parent_page_id设置为测试页面的id。
<ul><li><a href="test">test</a><ul></ul></li></ul>
所以它正在获取下一个<ul>
元素,但不会遍历页面。
我是否误解了AR方法?我期待那里有一个<li>
元素。
答案 0 :(得分:0)
尔加。傻臭虫。
if children.size > 0
output << "<ul>"
output << page_loop(children)
output << "</ul>"
end
固定。