私はこのようなものを持っています:
%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