Как установить значения по умолчанию для сортировки ransack?
Чтобы просто сказать, я просто хотел бы узнать, есть ли способ установить значения по умолчанию для функций сортировки с использованием Ransack gem? т.е.
В настоящее время при загрузке страницы у меня есть следующее:
![empty_ransack]()
Но вместо этого я бы хотел иметь следующие значения по умолчанию при загрузке страницы:
![ransack with defaults]()
Можно ли это сделать с помощью правильной настройки Ransack Gem?
Спасибо заранее, как всегда!
С наилучшими пожеланиями!
Ответы
Ответ 1
Это работает для меня:
@search = Change.search(params[:q])
@search.sorts = 'updated_at desc' if @search.sorts.empty?
Примечание. Сначала у меня была царапина на голове, когда у меня была desc
в верхнем регистре - это просто не работает.
Ответ 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