jls*_*str 16 ruby ruby-on-rails-3.2 ransack
简单地说,我只想知道是否有办法使用Ransack gem设置排序功能的默认值?即.
目前,页面加载时我有以下内容:

但相反,我希望在页面加载时具有以下默认值:

是否可以通过正确配置Ransack宝石来实现这一目标?
一如既往地感谢!
最好的祝福!
Chr*_*zig 41
这对我有用:
@search = Change.search(params[:q])
@search.sorts = 'updated_at desc' if @search.sorts.empty?
Run Code Online (Sandbox Code Playgroud)
注意:我最初有一些头疼,当我desc用大写字母时 - 这是行不通的.
您还可以通过定义数组来设置多个默认排序:
@search = Post.ransack(params[:q])
@search.sorts = ['name asc', 'created_at desc'] if @search.sorts.empty?
@posts = @search.result.paginate(page: params[:page], per_page: 20)
Run Code Online (Sandbox Code Playgroud)
https://github.com/activerecord-hackery/ransack/wiki/Sorting-in-the-Controller