无法在HAML中的链接中嵌套链接

时间:2012-12-02 05:21:04

标签: html ruby haml nested

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

原始HAML代码:

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

当我在Chrome的inspect元素中查看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>

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

1 个答案:

答案 0 :(得分:-1)

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

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

link_to正在帮助您对浏览器做正确的事情。可能很高兴意识到这不是haml问题,而是link_to实现。

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