2013-03-16 7 views
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 Bootstrap кнопку говоря «Сбросить Сортировка», и когда я нажимаю, что он должен сбросить эти сортировки мы сделали, нажав на заголовки столбцов и идти и сортировать его только 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 
+0

Вы должны обеспечить "сортировку" реализация методы –

+0

@BaburUsenakunov: Добавлены. – DarkNightFan

ответ

1
= link_to 'Reset sorting', params.merge(:teachers => {:sort_column => 'teacher_name', :sort_direction => 'asc'}), :class => 'btn' 
+0

Спасибо, он также «перезагружает» все предыдущие сортировки, которые были сделаны на столе? Например, мы начинаем нажимать на столбец в столбце таблицы, он начинает сортироваться по ним ... поэтому мы используем ваш код, поэтому он теперь сортируется только по имени учителя_? – DarkNightFan

+1

Сбрасывает столбец сортировки с именем "teacher_name" после любой последовательности кликов по сортировке ссылок. Это то, что вы имеете в виду? Но я не уверен в руководстве. Вы можете протестировать его или предоставить методы «same_sort_column» и «sort_direction». –

+0

Спасибо человеку. Ваш ответ мне очень помог. – DarkNightFan

Смежные вопросы