0

我为我的 Rails 应用程序安装了 DataTables gem,并按照这个 Railscast开始。一切正常。

我的目标是允许我的应用程序的用户隐藏和显示列,因此我阅读了本指南

我从该页面复制了初始化 javascript,将其翻译为http://js2coffee.org上的咖啡脚本,并将以下内容粘贴到我的 app/assets/javascripts/drivers.js.coffee 文件中:

fnShowHide = (iCol) ->
  oTable = $("#drivers").dataTable()
  bVis = oTable.fnSettings().aoColumns[iCol].bVisible
  oTable.fnSetColumnVis iCol, (if bVis then false else true)
$(document).ready ->
  $("#drivers").dataTable
    sScrollY: "200px"
    bPaginate: false

然后回到DataTables指南,我查看了“Toggle column”链接的源代码,发现了这个:<a href="javascript:void(0);" onclick="fnShowHide(0);">Toggle column 1<br></a>

所以我将它粘贴到我的 app/views/drivers/index.html.erb 文件中,结果如下:

<a href="javascript:void(0);" onclick="fnShowHide(0);">Toggle column 1<br></a>
<a href="javascript:void(0);" onclick="fnShowHide(1);">Toggle column 2<br></a>

<table id="drivers" class="display table table-striped table-bordered table-hover table-condensed">
  <thead>
    <tr>
      <th>Last Name</th>
      <th>First Name</th>
    </tr>
  </thead>
  <tbody>
    <% @drivers.each do |driver| %> 
    <tr>
      <td><%= link_to(driver.last_name, driver) %></td>
      <td><%= driver.first_name %></td>
    </tr>
    <% end %>
  </tbody>
</table>

当我访问该站点时,链接正在显示,但它们不起作用。由于我是 Rails、javascript 和一般编程的新手,我假设我遗漏了一些明显的细节。

4

0 回答 0