目的
RailsアプリケーションのテンプレートエンジンをerbからSlimに変更.
具体的には以下のことをしたい.
- slimを導入
- 既存のerbをslimに変更
- rails g controller(or scaffold)した時にerbではなくslimを自動生成するようにする
環境
MacOS High Sierra 10.13.6
Rails : 5.2.4.1
Ruby : 2.6.5
1. slimを導入
Gemfileに以下を追記.
gem 'slim-rails'
group :development do
(省略)
gem 'html2slim'
end
gem 'slim'も必要と思ってしまいがちですが,slim-railsがslimに依存しているため,上記のように書けばbundlerさんが勝手にslim gemもインストールしてくれます.
slim-railsはrails g controller(or scaffold)した際にslimも自動生成してくれるgem.つまり最初に書いた3がもう実現できているわけです.このgemのおかげでconfig/application.rbの編集が不要になるので楽.
html2slimを導入することでerb2slimというコマンドによってerb→slimの変換が行えるように.
そして以下を実行.
$ bundle install
2.既存のerbをslimに変更
$ bundle exec erb2slim app/views app/views -d
-dオプションをつけると,既存のerbファイルを消去してくれます.
3. rails g controller(or scaffold)した時にerbではなくslimを自動生成するようにする
1でも書いたように,slim-railsを導入した時点でこれは達成されています.
目的達成
gemを適切にインストールすればconfigとかいじらなくていいので楽.
ゴリゴリslimで書いていきましょう.