Я немного застрял и, вероятно, неправильно понимаю 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>
.