I want to render nested ul li list using content_tag like
<ul> <li>
<div>Message1</div> </li> <li>
<div>Message 2</div>
</li> </ul>
I have helper method like this
def nested_messages(messages)
messages.map do |message, sub_messages|
content_tag :ul do
content_tag :li do
render(message) + nested_messages(sub_messages)
end
end
end.join.html_safe
end
I didn't get the nested list. My output looks like this
<ul>
<li>
<div>Message 1</div>
</li>
</ul>
<ul>
<li>
<div>Message 2</div>
</li>
</ul>
Where I am doing wrong? How to get the correct nested list?
Nest the messages.map
block inside the ul
content tag block:
def nested_messages(messages)
content_tag :ul do
messages.map do |message, sub_messages|
content_tag :li do
render(message) + nested_messages(sub_messages)
end
end.join
end.html_safe
end