尝试使用我的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行代码来实现这一点。
任何帮助都会很棒我可以根据需要提供更多代码段
答案 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>