【问题标题】:Rails bootstrap navigation link_to errorRails引导导航link_to错误
【发布时间】:2015-04-09 03:25:27
【问题描述】:

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

知道我做错了什么吗?

【问题讨论】:

  • 我猜 JavaScript Bootstrap 使用的是专门针对 #home 链接的。 &lt;a href="#home" aria-controls="home" role="tab" data-toggle="tab"&gt;Home&lt;/a&gt; 不是真正的链接,它只是触发一个 JavaScript 函数,所以我认为你不应该将它与 link_to 辅助方法交换。

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


【解决方案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 对于在正常引导导航栏中设置 class="active" 也非常有用。忠告,我在 1.3.3 版的布局上有问题,所以我降级到 1.3.1 版,它运行良好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-12
    • 1970-01-01
    相关资源
    最近更新 更多