rails 3.2和datatable示例

时间:2012-11-14 15:03:02

标签: jquery datatables

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

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

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

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

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

    jQuery - >   $( '#运行表')。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行代码来实现这一点。

任何帮助都会很棒我可以根据需要提供更多代码段

2 个答案:

答案 0 :(得分:0)

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

另外,您所要做的就是使用与jquery数据表初始化相同的id来定义您的表,这样就可以使用过滤,排序,开箱即用的分页。

这种初始化应该足够,没有服务器端:

 jQuery ->
 $('#tableid').dataTable

答案 1 :(得分:0)

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

现在工作正常

     <tbody>


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

    <tr>

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

    <td> <%= c.run_name %></td>