Ruby on rails 单击列上的排序表

Ruby on rails 单击列上的排序表,ruby-on-rails,ruby,model-view-controller,Ruby On Rails,Ruby,Model View Controller,我在排序列时遇到问题。我有一个用数据填充的表,它是用DESC组织的。我希望这样,当单击其中一列时,它将在ASC和DESC之间来回更改 当我单击某个特定列时,发送了以下参数: Parameters: {"search"=>{"meta_sort"=>"date.asc"}} 以及进行与最初访问时相同的查询 这是我的控制器代码: def dashboard @search = Quality.search(params[:search]) @qualities = @searc

我在排序列时遇到问题。我有一个用数据填充的表,它是用
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)

您希望在Rails中还是在浏览器中进行排序

因为浏览器已经有了数据,所以有很好的理由认为排序应该在页面内的JavaScript中进行。用户的体验会更好/更快,并且您不会因为另一个请求而加重Rails、托管硬件和数据库的负担


jQuery和其他JavaScript库有许多JavaScript插件,可以轻松实现这一点。

这似乎是一个更好的选择,我对jQuery和js有一定的了解。