我为我的Rails应用安装了DataTables gem,并开始关注this Railscast。一切都很好。
我的目标是允许我的应用的用户隐藏和显示列,因此我阅读了this guide。
我从该页面复制了初始化javascript,将其翻译为http://js2coffee.org处的coffeescript,并将以下内容粘贴到我的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 guide,我查看了“切换列”链接的源代码,发现了这个:<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和编程的新手,所以我假设我遗漏了一些明显的细节。