0

尝试使用我的 rails 3.2 应用程序进行简单的数据表实现。我有这个在 PHP 中工作的确切应用程序,并希望将其移植到 ruby​​。我不是一个只是学习它的 Ruby 专家。

我基本上遵循这个例子,但使用我的代码和数据库

http://asciicasts.com/episodes/340-datatables

  • 我创建了我的表并给了它一个类和 ID

  • 我添加了这个文件 - > /app/assets/javascripts/products.js.coffee 其中包含

    jQuery -> $('#run-table').dataTable

      sPaginationType: "full_numbers"
      bServerSide: true
      iDisplayLength: 4
      aaSorting:[]
    

我在我的网页上看到的是一个格式正确的表格,其中列、排序图标、搜索过滤器文本框、分页号都正确。但它不起作用。

如果我做“bServerSide:true”,那么任何时候我与我得到的表交互

"NetworkError: 404 Not Found  - http://localhost:3000/null?sEcho=1&iColumns=11&sColumns=&iDisplayStart=0&iDisplayLength=4&...

因此,如果我排序或添加搜索过滤器,我会收到该错误。

如果我将其更改为“bServerSide:false”,那么我会得到一个外观正确的表,其中加载了我的初始数据但什么也不做。没有排序,没有过滤,没有分页。

该示例代码中我没有做的部分是 -> /app/datatables/products_datatable.rb 因为我没有看到需要它。使用 PHP,我不使用服务器端及其大约 4 行代码来完成这项工作。

任何帮助都会很棒,如果需要,我可以提供更多代码片段

4

2 回答 2

0

如果您使用“bServerSide”=true,那么您应该为您自己的服务器端处理实现提供“sAjaxSource”,例如从数据库中检索数据,进行排序、过滤、分页查询。

否则,您所要做的就是使用与 jquery 数据表初始化中相同的 id 定义您的表,这就是为了让它与过滤、排序、分页一起工作。

没有服务器端,这样的初始化就足够了:

 jQuery ->
 $('#tableid').dataTable
于 2012-11-14T15:54:26.333 回答
0

这是视图中我的代码中的一个错误。我在循环中定义了 tbody,我需要将它移到循环上方。我花了几个小时盯着它看却没有看到它的愚蠢错误。

现在工作正常

     <tbody>


<% @run.each do |c| %>

    <tr>

    <td><%= link_to c.idRun, step_url(c.idRun) -%>  </td>

    <td> <%= c.run_name %></td>
于 2012-11-15T13:48:57.677 回答