使用link_to后添加了其他结束锚标记

时间:2014-07-06 01:38:16

标签: html ruby-on-rails ruby

由于某些原因,在我使用HTML锚标记内的link_to后,rails正在生成其他锚标记。这是HTML设计还是限制。?

<li>
                <a id="user-menu" href="#">
                    <%=current_user.first_name%>
                    <div id="bubblemenu" class="lotusBubble-content" style="display:none"> 
                      <ul>
                          <li><%= link_to "My Profile", current_user %></li>
                          <li>My Bookmarks</li>
                          <li>My Active</li>
                          <li>My Expired</li>
                      </ul>
                    </div>
                </a>
            </li>

这会生成像这样的HTML

            <li>
                <a id="user-menu" href="#">Srikanth</a>
                  <div id="bubblemenu" class="lotusBubble-content" style="display:none">
                              <a id="user-menu" href="#"> </a>
                              <ul>
                                    <a id="user-menu" href="#">
                                    </a>
                                    <li><a id="user-menu" href="#"></a><a href="/user.1">My Profile</a></li>
                                    <li>My Bookmarks</li>
                                    <li>My Active</li>
                                    <li>My Expired</li>
                              </ul>

                    

为什么会自动添加锚标签?

2 个答案:

答案 0 :(得分:0)

由于您使用的是link_to指令,此功能会在执行时自动创建锚点

答案 1 :(得分:0)

刚看到这个限制。根据HTML标准,不允许在锚内锚定。如果发生类似的事情,则浏览器以原子方式结束外部锚点

http://www.w3.org/TR/html401/struct/links.html#h-12.2.2