順番を制御してくれる便利なgem「acts_as_list」
positionというカラムを追加することで、そこに連番が入り、簡単に並び替え機能を実装できるメソッドを提供してくれます。
positionが追加できるなら、デフォルトにしたがってそうする方が良いですが、既存システムに後から追加する場合などは、変更することが可能です!
カラム名を変更する方法(端的に結論を)
結論、modelでcolumnオプションを使えばOK!
例えば、usersテーブルのsort_orderカラムに順番を入れたい場合は、下記のように記述します。
class User < ApplicationRecord
belongs_to :group
acts_as_list scope: :group, column: :sort_order
end
これで、上記の例で言えばsort_orderカラムがpositionカラムの代わりになります。
参考
↓このサイトで知りました。ありがとう!
使い方はこちらが親切↓
【Rails】acts_as_listを使った並べ替え機能を同期/非同期それぞれで実装
公式↓
公式の日本語訳↓
【40】【Rails】Acts As List公式ドキュメントの翻訳記事
はるすと
最後まで読んでくださってありがとうございました!
コメント