如何设置ransack排序的默认值?

简单来说,我只想知道是否有办法使用Ransack gem设置排序function的默认值? 即。

目前,我在页面加载时有以下内容:

empty_ransack

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

搜索默认值

是否可以通过正确配置Ransack Gem来实现这一目标?

一如既往地感谢!

最好的祝福!

这对我有用:

@search = Change.search(params[:q]) @search.sorts = 'updated_at desc' if @search.sorts.empty? 

注意:我最初有一些头疼,当我用大写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) 

https://github.com/activerecord-hackery/ransack/wiki/Sorting-in-the-Controller