<% if params[:v_order] == 'down' %> <%= link_to "e_date", :action =>"list_by_edate", :v_order => "up" %> <% else %> <%= link_to "e_date", :action =>"list_by_edate", :v_order => "down" %> <% end %>
i think you'll definitely not want to have three partials to display one and the same stuff only in different order. i would do it by handing in another parameter with the column name clicked.
first make your "if then" a oneliner:
<%= link_to "e_date", :action =>"list_by_edate", :v_order => params[:v_order] == 'down' ? "up" : "down" %>
then add a fieldname:
<%= link_to "e_date", :action =>"list_by_edate", :v_order => params[:v_order] == 'down' ? "up" : "down", :v_col => "edate" %>