Helpers:
def sort_th(value) result = 'id="sorted_by_asc"' if params[:sort] == value result = 'id="sorted_by_desc"' if params[:sort] == value + "_desc" return result end def sort_link(text, action, value) key = value key += "_desc" if params[:sort] == value link_to text, :action => action, :sort => key end
Controller:
def list @page = params[:page] @sort = params[:sort] @results = Model.paginate :page => @page, :per_page => 5, :order => order_value(@sort) end
View:
<tr> <th <%=sort_th "name"%>> <%=sort_link("Име", "list", "name")%> </th> <th <%=sort_th "address"%>> <%=sort_link("Адрес", "list", "address")%> </th> ..... <%= will_paginate @results, :sort=>@sort %>
