結論から
config/initializers/rails_admin.rb
の設定を次の様に変更したら直りました。
config/initializers/rails_admin.rb
RailsAdmin.config do |config|
...
# 変更前
config.authorize_with :cancan
# 変更後:
config.authorize_with :cancancan
...
end
環境
項目 | version |
---|---|
ruby | 2.5.1 |
rails | 5.2.3 |
rails_admin | 2.0.0 |
cancancan | 3.0.1 |
どうやってこの解法が分かったか
こんな感じでエラーが出たのですが、この中の
klass = RailsAdmin::AUTHORIZATION_ADAPTERS[extension]
でklass
がnilになってるのが原因でした。
extensionの値を調べるとcancan
が入っており、一方でRailsAdmin::AUTHORIZATION_ADAPTERS
を調べると、cancan
というキーはなく、cancancan
というキーが入っているみたいでした。
そのため、cancan
という設定に関係しそうな箇所を変更すれば直るかもしれないと思い試した所、解決しました。
所感
大抵の記事には
config/initializers/rails_admin.rb
RailsAdmin.config do |config|
...
config.authorize_with :cancan
...
end
という様にcancan
と書いてあるので、引っ掛かりやすそうですね。