Ransack でソートキーを複数指定する方法を備忘録として残しておく

環境

  • ruby: 3.0.4
  • rails: 6.1.0

実際のコード

sort_link ヘルパーメソッドの第三引数に指定する
※その他の機能については参考を参照

# ソート順序 第1ソートキー: last_name, 第2ソートキー: first_name
# 画面上のソートリンクをクリックする度に両方のキーの昇順、降順が入れ替わる
<%= sort_link(@q, :last_name, %i(last_name first_name), 'Last Name') %>

第2ソートキーを常に昇順 or 降順固定にする場合は以下のようにする

<%= sort_link(@q, :last_name, [:last_name, 'first_name asc'], 'Last Name') %>