我有这样的事情:
%section
%h1= t('.MyTableData')
.row-fluid
.span8
%table.table
%thead
%tr
%th= sortable('teachers', 'teacher_name', 'true')
%th= sortable('teachers', 'teacher_score')
%th= sortable('teachers', 'specialty')
%tbody
- @teachers.each do |teacher|
%tr
%td= as_full_name(teacher[:first_name], teacher[:last_name])
%td= number_to_percentage(provider[:teacher_score], precision: 0)
%td= provider[:specialty_name]
.span2
=render partial: 'search'
因此,它会创建一个包含一些列的表,如果我单击诸如teacher_name 之类的列标题等,它将使用该可排序方法根据该表对表进行排序。
现在我想添加一个简单的 twitter 引导按钮,上面写着“重置排序”,当我点击它时,它应该重置这些排序,我们通过点击列标题进行排序,然后只按teacher_name.
我对这一切都很陌生,不能把这些拼图放在一起,所以我需要一个按钮,我需要的排序方法在那些可排序的方法中有一些示例,但不知道如何放置所有这些一起解决这个问题。
def sortable(table, column, default_column = false)
table_params = params[table] || {}
same_sort_column = same_sort_column(table_params, column, default_column)
current_sort_direction = sort_direction(table_params)
new_direction = same_sort_column && current_sort_direction == 'asc' ? 'desc' : 'asc'
link_to(t(".#{column}"), params.merge(table => { sort_column: column, sort_direction: new_direction }))
end