【发布时间】:2015-02-05 01:48:12
【问题描述】:
我为项目的待办事项列表应用创建了此表。我想创建将按表、客户端、已完成和未完成的排序表的按钮。我不知道该怎么做。..
这是表格的代码:
<table>
<thead>
<tr id="headers">
<th>Title</th>
<th>Client</th>
<th>Description</th>
<th>Hours</th>
<th>Done</th>
<th colspan="3"></th>
</tr>
</thead>
<tbody class="col-md-2" id="listItems">
<% @projects.each do |project| %>
<tr id="table">
<td><%= project.title %></td>
<td><%= project.client %></td>
<td><%= project.description %></td>
<td><%= project.hours %></td>
<td><%= project.done %></td>
<td><%= link_to " #{image_tag('show.png')}".html_safe, project, id:'showButton' %></td>
<td><%= link_to " #{image_tag('edit.png')}".html_safe, edit_project_path(project), id:'editButton' %></td>
<td><%= link_to " #{image_tag('destroy.png')}".html_safe, project, id:'destroyButton', method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
</tbody>
</table>
【问题讨论】:
-
我听说数据表(jquery 插件)可以做这样的事情。
-
您可以使用 Sergio 建议的插件来完成,也可以在 Rails 中完成(通过每次单击表头时向控制器发出附加请求)。你有偏好吗?
-
@JackZelig 我想在 Rails 中做,我想有 4 个按钮:按客户端 AZ 排序,按客户端 ZA 排序,按完成-未完成排序,然后是最近(正常列表)。如果可以的话!谢谢
-
我建议使用 jquery 而不是 rails/ruby。在较小的集合上,不去数据库进行排序会更快。如果您使用数据库(杰克的回答很棒),请考虑在您要排序的字段上放置一个索引。只是为了加快阅读速度。 (我说考虑不做)
-
@baash05 谢谢,我会,但我真的不知道该怎么做。这是一个课堂项目,我们只学过 Ruby。
标签: ruby-on-rails ruby sorting html-table