目的
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で書いていきましょう.