简单地说,我只想知道是否有办法使用Ransack gem设置排序功能的默认值?的即
目前,我在页面加载时有以下内容:
但相反,我希望在页面加载时有以下默认值:
是否可以通过正确配置Ransack Gem来实现这一目标?
一如既往地感谢您!
最诚挚的问候!
答案 0 :(得分:40)
这对我有用:
@search = Change.search(params[:q])
@search.sorts = 'updated_at desc' if @search.sorts.empty?
注意:当我用desc
大写时,我有些头疼 - 这只是不起作用。
答案 1 :(得分:2)
您还可以通过定义数组来设置多个默认排序:
@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