我正在尝试将循环放在部分内部循环中,如下所示:
%ul
- halls.each do |hall, children|
%li
= link_to_unless_current hall.name, hall
= render partial: 'hall_structure', :locals => { halls: children } if children.present?
部分hall_structure:
%ul
- halls.each do |hall, children|
%li
= link_to_unless_current hall.name, hall
= render partial: 'hall_structure', :locals => { halls: children } if children.present?
但不知何故输出是这样的:
<ul>
<li>
<a href="/halls/5">Main Hall</a>
<ul></ul>
</li><li>
<a href="/halls/1">Conference Hall</a>
</li>
<li>
<a href="/halls/4">Exhibition Hall</a>
</li>
</ul>
有没有理由说它没有在第一个li
下将内部循环放在部分循环中?
答案 0 :(得分:1)
也许是缩进?
%ul
- halls.each do |hall, children|
还要确保这是真正的输出。不是浏览器呈现的最终xml。许多Web浏览器尝试修复mal形成的html。在我看来它可能会发生在这里。