这是一个真正的noob问题,但在努力寻找答案后,也许根本不那么noob:我应该把jQuery应用程序DataTables放在哪里,以便服务器端处理开始工作?在datatables.net或datatables标记下都找不到答案。(这使用的是Rails 3.2.2、ruby 1.9.3p362和datatables 1.9;所有必需的gem都出现了(
我的jquery源位于public/jquery.js和public/jquery.dataTables.js 中
以下是我的app/assets/javascripts/application.js:中的内容
//= require jquery
//= require_tree .
以下是我在app/assets/javascripts/genotypes.js:中的内容
$(document).ready(function() {
$('#genotypes').dataTable( {
"bProcessing": true,
"bServerSide": true,
sAjaxSource: $('#genotypes').data('source')
} );
} );
以下是相关视图的index.html.erb:
<h1>Listing genotypes</h1>
<table id="genotypes" class="display" data-source="<%= genotypes_url(format: "json") %>">
<thead>
<tr>
<th>Marker</th>
<th>LabID</th>
<th>SubjectID</th>
<th>Box</th>
<th>Well</th>
<th>Allele1</th>
<th>Allele2</th>
<th>Run date</th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<br />
<%= link_to 'New Genotype', new_genotype_path %>
到目前为止,当我加载基因型视图时,所有这些都会发生(http://localhost:3000/genotypes),我只得到列标题,而没有其他。。。
非常感谢您的帮助。。。。
您的javascript
文件应该位于app/assets/javascripts/
中,而不是公共文件夹中。看看这个:http://guides.rubyonrails.org/asset_pipeline.html.
试着把jquery.js
移到这个目录中,然后,就像Ryan在你提到的Railscasts中所说的那样,在你的application.js
:中添加这一行
//= require dataTables/jquery.dataTables
。
对css文件也做同样的操作,并尝试一下。
希望这能有所帮助。
您需要引用DataTables js和css文件。DataTables的工作原理是在浏览器中编辑HTML。据我所知,没有服务器端组件。
你能检查一下你的页面上是否引用了它们吗?使用Chrome或Firefox/Firebug,检查一下浏览器是否确实能够访问它们?