0

这是一个真正的菜鸟问题,但是在努力寻找答案之后,也许毕竟不是那么菜鸟:我到底应该把 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)时发生的所有事情,我只得到列标题,没有别的......

非常感谢任何帮助....

4

2 回答 2

1

您的javascript文件应该存在于 中app/assets/javascripts/,而不是 public 文件夹中。看看这个: http: //guides.rubyonrails.org/asset_pipeline.html

尝试jquery.js进入该目录,然后就像 Ryan 在您提到的 Railscasts 中所说的那样,将这一行添加到您的application.js

//= require dataTables/jquery.dataTables.

对您的 css 文件执行相同的操作并尝试一下。

希望这可以帮助。

于 2013-01-25T15:29:56.777 回答
1

您需要引用 DataTables js 和 css 文件。DataTables 通过在浏览器中编辑 HTML 来工作。我知道没有服务器端组件。

您能否检查它们是否在您的页面上被引用,并使用 Chrome 或 Firefox / Firebug,检查浏览器是否确实能够访问它们?

于 2013-01-18T23:30:09.917 回答