如何使用Rails中的will_paginate使Bootstrap的Button(带下拉切换)正常工作

时间:2013-12-12 12:31:19

标签: ruby-on-rails ruby twitter-bootstrap twitter-bootstrap-3 will-paginate

我有一张包含订单信息的表格,并使用will_paginate gem为页面创建分页,以显示每页10个订单。

_head.html.erb文件在application.html.erb中呈现,文件包含:

<head>
  <title>fstool</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
  <%= stylesheet_link_tag    "application", media: "all", "data-turbolinks-track" => true %>
  <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
  <script src="//netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
  <%= javascript_include_tag "application", "data-turbolinks-track" => true %>
  <%= csrf_meta_tags %>
</head>

application.js包含:

//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .

每个订单旁边都有一个Twitter Bootstrap按钮(带下拉切换),这是代码:

<div class="btn-group">
    <button type="button" class="btn btn-xs btn-primary dropdown-toggle" data-toggle="dropdown">
      Action
      <span class="caret"></span>
    </button>
    <ul class="dropdown-menu">
      <li><%= link_to "Show", order %></li>
      <li><%= link_to "Edit", edit_order_path(order) %></li>
      <li class="divider"></li>
      <li><%= link_to "Destroy", order_path(order),
                    method: :delete, data: { confirm: 'Are you sure?' } %></li>
    </ul>
  </div>
</div>

该按钮适用于第一页。当我点击第2页时,该按钮不起作用。它是可点击的,但没有下拉切换。我必须重新加载(CMD-R)页面才能使用下拉按钮。

关于如何解决这个问题的任何想法?

2 个答案:

答案 0 :(得分:1)

详细说明: 出于某些原因,我不建议使用turbolink,但如果您知道如何解决所有问题,它实际上会提高您的客户端性能。

如果你正在使用jquery wf turbolink

https://github.com/kossnocorp/jquery.turbolinks

这是我提到的railscast:

http://railscasts.com/episodes/390-turbolinks 我认为他们已经解决了这个问题。

What are the pros and cons of Asset-Pipeline/Turbolinks from Rails 4 for a big application?

他们讨论了turbolink的优点和缺点

答案 1 :(得分:0)

正如Nich指出的那样,要解决此问题,只需删除//= require turbolinks表单./app/assets/javascripts/application.js

现在全部工作。