[ { :par-6ren">
gpt4 book ai didi

ruby-on-rails - Rails 辅助方法 : Nested hash to nested HTML list

转载 作者:数据小太阳 更新时间:2023-10-29 07:50:25 26 4
gpt4 key购买 nike

我正在尝试编写一个 Rails 辅助方法来将嵌套哈希转换为嵌套 HTML 列表。

例如:

{
:parent => "foo",
:children => [
{
:parent => "bar",
:children => [
{
:parent => "baz",
:children => []
}
]
}
]
}

应该变成:

<ul>
<li>foo</li>
<ul>
<li>bar</li>
<ul>
<li>baz</li>
</ul>
</ul>
</ul>

散列可以有任意数量的级别,每个级别有任意数量的父级。

请问实现此目标的最佳方法是什么?

最佳答案

您可以使用递归方法来呈现以散列到一组嵌套列表。把它放在你的相关助手中:

def hash_list_tag(hash)
html = content_tag(:ul) {
ul_contents = ""
ul_contents << content_tag(:li, hash[:parent])
hash[:children].each do |child|
ul_contents << hash_list_tag(child)
end

ul_contents.html_safe
}.html_safe
end

关于ruby-on-rails - Rails 辅助方法 : Nested hash to nested HTML list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14904772/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com