0

我有这样的事情:

%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
4

1 回答 1

1
= link_to 'Reset sorting', params.merge(:teachers => {:sort_column => 'teacher_name', :sort_direction => 'asc'}), :class => 'btn'
于 2013-03-16T20:04:21.343 回答