我为我的 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 和一般编程的新手,我假设我遗漏了一些明显的细节。