slimとは
WebアプリケーションはHTMLにより作られていますが、様々な記述やデータの受け渡しなどがあり、文字列を煩雑に並べていってはコードの可読性が低くなってしまいます。
コードを読みやすく記述するために、Railsではテンプレートエンジンを使った開発をします。
テンプレートエンジンとは、HTMLのテンプレート(雛形)とそこに記述された動的なデータから最終的なHTMLを生成する仕組み
※現場で使えるRuby on Rails速習実践ガイドより
つまりHTMLを生成するための枠組みと捉えてていいと思います。
Railsでは、デフォルトでERBというテンプレートエンジンが設定されています。
このテンプレートエンジンはHTMLの記述に近いので比較的書きやすいというメリットがありますが、コードが長くなってしまうことや、実際の現場で採用されていないことも多いといった点もあります。
そこで効率よくコードを書くための他のテンプレートエンジンの1つが、slimになります。
※その他の1つにHamlというものもあります。
ERBからslimへの変更の仕方
①Gemのインストール
gem 'slim-rails`
gem 'html2slim'
上記のgemを追加して、bundle installを実行します。
$ bundle install
たったこれだけで準備は完了です!今後新たに作成されるビューはslim形式で作られることになります。
②ERB形式のファイルをslimに変更する
$ bundle exec erb2slim app/views/layouts/ --delete
変更する際の注意点
きちんとgitで管理すること
slimに変更すると今まで動いていたコードが動かなくなることがあります(僕がそうでした泣)。なので変更する前にきちんとバックアップできるようgitで管理しておくことは必須です。導入する前に記述方法について学んでおくこと
導入したはいいけどどうやって書くかわからずコードがぐちゃくちゃにならないようにあらかじめ少しは勉強しておくようにしましょう。
参考
・現場で使えるRuby on Rails速習実践ガイド