前章で Cancancan によるユーザー認可を実装しました。
設定ファイルを1か所に集めて簡潔に設定ができて便利です。
一方で、
対象はモデル単位なので、
「対象データの*カラムが++の時は認可しない」といった、
細かな設定には向いていません。
例えば、自分自身の enabled フラグは変更できない、みたいな。
自分自身を無効化してしまったら、ログインできなくなりますから。
そこで、本章では、一旦 Cancancan を辞めて、
別の認可ライブラリである Pundit を使ってみます。
参考リポジトリ https://github.com/Bonv-dev/book_mgmt/commit/449c218
で書いた通り、
Cancancan の変更を全部リバートして、無かったことにしています。
ちなみに、
リバートの際、flash.css も消してしまったので、後で戻してます。
参考リポジトリ: https://github.com/Bonv-dev/book_mgmt/commit/cd827e5
(関係ないものを1コミットで入れるのはダメですね。。。)
ruby bin/rails generate pundit:policy (対象)実際の認可設定の中身は次章にて。