2

我在将 HAML 嵌套在另一个链接中时遇到问题。HAML 中的缩进完全正确,但输出的 HTML 非常错误。

原始 HAML 代码:

.item
  =link_to page_path do
    .item-info
      %h3 Item name
      =link_to 'Link', different_page_path

当我在 Chrome 的检查元素中查看 HTML 时,我得到的是:

<a href="/page"></a>
<div class="item-info">
  <a href="/page">
    <h3>Item name</h3>
  </a>
  <a href="/different_page">Link</a>
</div>

但是当我查看源代码时,它显示正确,但在查看页面时仍然一团糟:

<a href="/page">
  <div class='item-info'>
    <h3>Item name</h3>
    <a href="/different_page">Link</a>
  </div>
</a>

我很茫然,任何帮助都会很棒。谢谢。

4

1 回答 1

-1

如果您真的想要链接中的链接,您可以直接使用 haml 而不是 rails(或您正在使用的框架)方法 link_to:

.item
  %a{ :href => '/page' }
    .item-info
      %h3 Item name
      %a{ :href => '/different_page' } Link

如上所述,link_to 正在帮助您在浏览器中做正确的事情。意识到这不是一个haml问题而是link_to实现可能会很好。

更新:澄清 - 浏览器仍然无法很好地呈现它,但生成的标记将按要求进行。

于 2012-12-05T18:58:54.370 回答