Я хочу сделать навигационную панель в рельсах в соответствии с этим примером: http://getbootstrap.com/javascript/#tabs< /а>
<div role="tabpanel">
<!-- Nav tabs -->
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="active"><a href="#home" aria-controls="home" role="tab" data-toggle="tab">Home</a></li>
<li role="presentation"><a href="#profile" aria-controls="profile" role="tab" data-toggle="tab">Profile</a></li>
<li role="presentation"><a href="#messages" aria-controls="messages" role="tab" data-toggle="tab">Messages</a></li>
<li role="presentation"><a href="#settings" aria-controls="settings" role="tab" data-toggle="tab">Settings</a></li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<div role="tabpanel" class="tab-pane active" id="home">...</div>
<div role="tabpanel" class="tab-pane" id="profile">...</div>
<div role="tabpanel" class="tab-pane" id="messages">...</div>
<div role="tabpanel" class="tab-pane" id="settings">...</div>
</div>
</div>
Однако я хочу использовать метод link_to для создания ссылки. Когда я переписываю первую ссылку следующим образом, проблем не возникает:
<li role="presentation" class="active"><%= link_to "Home", "#home", 'aria-controls'=>"home", role: "tab", data:{toggle: "tab"} %> </li>
Однако, когда я пишу эту строку следующим образом:
<li role="presentation" class="active"><%= link_to "Home", root_path, 'aria-controls'=>"home", role: "tab", data:{toggle: "tab"} %> </li>
Вкладка «Главная» больше не работает, и я получаю следующую ошибку в Google Chrome: Uncaught Error: Syntax error, нераспознанное выражение: /
Любая идея, что я делаю неправильно?
#home
.<a href="#home" aria-controls="home" role="tab" data-toggle="tab">Home</a>
на самом деле не является ссылкой, она просто запускает функцию JavaScript, поэтому я не думаю, что вам следует заменять ее вспомогательным методомlink_to
. - person hattenn   schedule 19.03.2015