【发布时间】:2013-02-20 23:38:38
【问题描述】:
我编写了一个 Rails 助手来创建一个嵌套的 HTML 列表。但是,这不能正确渲染。请问我做错了什么?
助手
content_tag :ul do
[1, 2].each do |x|
content_tag(:li, x)
content_tag :ul do
['a', 'b'].each do |y|
content_tag(:li, y)
content_tag :ul do
['i', 'ii'].each do |z|
content_tag(:li, z)
end
end
end
end
end
end
预期输出
<ul>
<li>1</li>
<ul>
<li>a</li>
<ul>
<li>i</li>
<li>ii</li>
</ul>
<li>b</li>
<ul>
<li>i</li>
<li>ii</li>
</ul>
<li>2</li>
<ul>
<li>a</li>
<ul>
<li>i</li>
<li>ii</li>
</ul>
<li>b</li>
<ul>
<li>i</li>
<li>ii</li>
</ul>
</ul>
</ul>
实际输出
<ul></ul>
【问题讨论】:
-
each没有返回正确的值;尝试将其替换为map -
我刚刚用
map试了一下,但是输出是一样的。
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2