ruby on rails 3 - Altering nested messages helper from div to unordered list -
i using helper method ryan bates railscasts on ancestry display nested messages(code below works perfectly).
def nested_messages(messages) messages.map |message, sub_messages| render(message) + content_tag(:div, nested_messages(sub_messages), :class => "nested_messages") end.join.html_safe end
the above bit of code nests individual divs in tree structure.
i make unordered list, have done this:
def nested_messages(messages) messages.map |message, sub_messages| content_tag(:ul, :class => "") render(message) content_tag(:li, :class => "nested_messages") nested_messages(sub_messages) end end end.join.html_safe end
the generated html looks fine, list items contain no values. doing wrong?
update
i generated html this:
<ul> <li>main message</li> <!-- first message --> <li> <b>message 1</b> <ul> <li>message 1 subchild 1</li> <li>message 1 subchild 2</li> </ul> </li> </ul>
update 2
i have changed , works, dave:
def nested_messages(messages) messages.map |message, sub_messages| #render(message) + content_tag(:div, sub_messages, :class => "nested_messages") content_tag(:ul, :class => "") content_tag(:li, :class => "nested_messages") render(message) + nested_messages(sub_messages) end end end.join.html_safe end
you create ul
tag, render message. if that, html like?
things inside ul
should in nested li
: render message.
you need put in li
tag unordered list has valid content.
Comments
Post a Comment