Ես ստեղծել եմ տեսակավորման մեթոդ, որը նկարագրել է Ռայան Բեյթսը իր railcast #228-ում. http://railscasts.com/episodes/228-sortable-table-columns
Այժմ իմ աղյուսակը լռելյայն դասավորված է ըստ grant_id-ի: Ես կցանկանայի, որ ստորադասավորում տեղի ունենար, ինչը նշանակում է, որ լռելյայն տեսակավորումը կլինի ըստ grant_id-ի և այնուհետև student_id-ի. եթե ես ունեմ 3 գրառում: 2-ը մեկ ուսանողի կողմից և մյուս մուտքը մեկ այլ ուսանողի կողմից: (բոլորն ունեն նույն դրամաշնորհը): Ես կցանկանայի, որ նույն ուսանողի 2 գրառումները դասավորված լինեն միմյանց կողքին: սա այն կոդը է, որը ես օգտագործել եմ՝ applcation_helper-ում.
def sortable(column, title = nil)
title ||= colum.titleize
direction = column == sort_column && sort_direction == "asc" ? "desc" : "asc"
link_to title, :sort => column, :direction => direction
end
կարգավորիչում:
def sort_column
Entry.column_names.include?(params[:sort]) ? params[:sort] : "grant_id"
end
def sort_direction
%w[asc desc].include?(params[:direction]) ? params[:direction] : "asc"
end
@entries = current_user.entries.order(sort_column + " " + sort_direction)