💡

[Rails7]erbのslim変換(エラー対処込み)

2024/02/24に公開

必要なGem

gem 'slim-rails'
gem 'html2slim'

上記gemをbundle installしてから下記コマンド実行

bundle exec erb2slim app/views/layouts/ --delete

しかし...下記エラーが発生する

[rails-practice] docker-compose exec web bundle exec erb2slim app/views/layouts/ --delete                                                                                             21:11:16  ☁  main ☂ ✭
NoMethodError: undefined method `exists?' for File:Class
  Use --trace for backtrace.

エラーの原因

ruby3.0より上のバージョンだとexists?は使用できないためエラーが起きている

対処方法

bundle exec erb2slim app/views/layouts/ --deleteに--traceオプションでエラーが起きているファイルを特定し'exists?'を使用バージョンでも使用できる同等のメソッドの'exist?'に置き換える。

参考

https://qiita.com/Muse_06/questions/4b154c14d3e7e3f7fd48

Discussion