我在对列进行排序时遇到问题。我有一个用数据填充的表,它是用DESC
. ASC
我想这样做,当单击其中一列时,它将在和之间来回变化DESC
。
当我单击特定列时,正在发送这些参数:
Parameters: {"search"=>{"meta_sort"=>"date.asc"}}
以及只是进行与最初访问时相同的查询。
这是我的控制器代码:
def dashboard
@search = Quality.search(params[:search])
@qualities = @search.page params[:page]
@qualities_failed = Quality.where('last_disposition_state = ?','fail').order("strftime('%Y',date) DESC, julian_date DESC, lot DESC, time DESC").limit(10).search(params[:search])
@qualities_passed = Quality.where('last_disposition_state = ?','pass').order("strftime('%Y',date) DESC, julian_date DESC, lot DESC, time DESC").limit(10).search(params[:search])
respond_to do |format|
format.html
format.js
format.xlsx {
send_data Quality.order("strftime('%Y',date) DESC, julian_date DESC, lot DESC, time DESC").limit(10).to_xlsx.to_stream.read, :filename => 'passed.xlsx', :type => "application/vnd.openxmlformates-officedocument.spreadsheetml.sheet"
}
end
end
我想知道如何获取这些参数,并据我所知,做出一个if
声明来评估参数并根据它对表格进行排序。
if -> == ASC then (query with ASC instead of DESC)