Дополнительные конечные теги привязки, добавленные после использования link_to

#html #ruby-on-rails #ruby

#HTML #ruby-on-rails #ruby

Вопрос:

По какой-то причине rails генерирует дополнительные теги привязки после того, как я использую link_to внутри тега привязки HTML. Это HTML-дизайн или rails ограничивают.?

 <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>
  

почему теги привязки добавляются автоматически?

Ответ №1:

Это связано с тем, что вы используете инструкцию link_to, эта функция автоматически создает привязку ta при ее выполнении

Ответ №2:

Только что увидел это ограничение. Привязка внутри привязки не допускается в соответствии со стандартами HTML. Если вообще происходит что-то подобное, то браузеры атомарно завершают внешнюю привязку

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

Комментарии:

1. Где вы видите привязку внутри привязки?

2. <идентификатор=»user-menu» href=»#»> <%=current_user.first_name%> link_to генерирует другой якорь. Это приводит к сценарию вложенной привязки