Rails引导程序导航link_to错误

时间:2015-03-19 20:19:58

标签: ruby-on-rails link-to bootstrap-sass

我想根据这个例子在rails中创建一个导航栏: 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中遇到以下错误: 未捕获错误:语法错误,无法识别的表达式:/

知道我做错了吗?

1 个答案:

答案 0 :(得分:1)

我使用bootstrap helper gem解决了这个问题: http://fullscreen.github.io/bh/#或者去 https://rubygems.org/gems/bh查看所有版本。

添加gem并遵循示例代码:

<%= nav do %>
  <%= link_to 'Home', root_path %>
  <%= link_to 'Users', users_path %>
  <%= link_to 'Profile', profile_path %>
<% end %>

链接现在正在为我工​​作,包括为正确的链接设置class =“active”,这对我来说是最重要的。 bh gem对于在正常bootstrap导航栏中设置class =“active”也非常有用。建议,我在1.3.3版本的布局上遇到了问题,所以我降级到版本1.3.1,这很好。