HAML循环绑定迟到部分

时间:2014-01-14 01:28:52

标签: ruby-on-rails ruby ruby-on-rails-4 haml

我正在尝试将循环放在部分内部循环中,如下所示:

%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下将内部循环放在部分循环中?

1 个答案:

答案 0 :(得分:1)

也许是缩进?

%ul
  - halls.each do |hall, children|

还要确保这是真正的输出。不是浏览器呈现的最终xml。许多Web浏览器尝试修复mal形成的html。在我看来它可能会发生在这里。