我想使用content_tag(例如
)呈现嵌套的ul li列表<ul> <li>
<div>Message1</div> </li> <li>
<div>Message 2</div>
</li> </ul>
我有像这样的帮助方法
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
我没有得到嵌套列表。我的输出看起来像这样
<ul>
<li>
<div>Message 1</div>
</li>
</ul>
<ul>
<li>
<div>Message 2</div>
</li>
</ul>
我做错了什么?如何获得正确的嵌套列表?
答案 0 :(得分:2)
将messages.map
块嵌套在ul
内容标记块中:
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