Ruby on RailsのテンプレートエンジンをSlimにする方法

Ruby on Railsでデフォルトのテンプレートエンジンである「ERB」からを「SLIM」に変更する方法を紹介します。

また、すでにERBで書かれてるファイルをSLIMに変換する方法も合わせて紹介します。

gemをインストールして、簡単な設定をするだけなので、ぜひ参考にしてください。

目次

Ruby on RailsのテンプレートエンジンをSLIMにする方法

Ruby on Railsでは、デフォルトのテンプレートエンジンはERBになっています。

SLIMで読み込まれるように変更するためには、gemをインストールするだけで変えることができます。

「SLIM-rails」のgemをインストールする

ERBからSLIMにするためにgemをインストールします。

アプリのGemfileに下のコードを書き込みます。

gem 'slim-rails'

変更を保存した後に、ターミナルでインストールします。

$ bundle install

たったこれだけで、拡張子がSLIMのものを読み込んでくれるようになります。

また、このgemをインストールした後は$ rails gのコマンドを実行するたびに、viewテンプレートはERBではなく、SLIMで作成されるようになります。

ERBのコードをSLIMのコードに変換する方法

上の設定で、SLIMのファイルが読み込まれるようになったのですが、すでにERBで書いているファイルがあると不具合が起こります。

それは、同じファイルがある場合です。
同じ名前のファイルがERBとSLIMである場合は、ERBが読み込まれてしまいます。

そのため、ERBのファイルをERBに変換し、ERBのファイルは全て削除するようにしましょう。

「html2slim」というgemをインストールする

html2SLIMというgemを利用します。

Gemfileに以下のように書き込みます。

gem 'html2slim'

変更を保存し、ターミナルでインストールします。

$ bundle install

html2SLIMを使って変換する

インストールした後に簡単な設定をする必要があります。

フォルダごとERBからSLIMに変換する

$ bundle exec ERB2slim app/views/

上記のコードをターミナルに打ち込んで実行すると、app/views/ディレクトリ以下の全てのERBのファイルがSLIMに書き換わります。

フォルダごとERBからSLIMに変換し、ERBファイルを削除する

SLIMに書き換えても、上のコマンドだとERBのファイルが残っています。
ERBを削除するためには、 -dオプションを追加すればOKです。

こうすることにより、ERBからSLIMに変換された後、もともとあったERBのファイルは削除されます。

$ bundle exec ERB2slim app/views/ app/views/ -d

まとめ:gemを使ってERBからSLIMに簡単に変換できる

Ruby on Railsで、ERBからSLIMファイルが読み込まれる方法、そして、ERBからSLIMに変換する方法を解説しました。

gemを使えば簡単に変更できるので試してみてください。

最後になりますが、エディターでSlim用の言語ファイルを入れておけば、見やすくなります。
Atomは「language-slim」、VSCodeは「Slim」というパッケージをインストールしてください。

あわせて読みたい
SLIMでのコードの書き方【Ruby on Rails】 Ruby on RailsにおけるSLIMのテンプレートエンジンの書き方を紹介します。 これを見れば基本的な書き方が分かるので、SLIMを書き始めたような人は参考にしてみてくださ...

あわせて読みたい
Ruby on Railsの学習にオススメな本4選 Ruby on Railsを本で勉強したいんだけど、どの本がいいのかな? このような悩みに対し、本記事ではRuby on Railsの学習にオススメな本を4つ紹介します。 ネット上にもRu...

>>Ruby on Railsの学習方法のまとめはこちら
あわせて読みたい
Ruby on Rasilsの学習方法まとめ Ruby on Railsを学びたいけど、どうやって学習したらいいんだろう? そんな「Ruby on Railsを独学で学びたい人」に向けて、Ruby on Railsの学習の進め方をまとめました...
あわせて読みたい
ポテパンキャンプの選考の流れとポイント【要チェック】 この記事では、の選考について紹介していきます。 僕自身、ポテパンキャンプの無料カウンセリングを受けて、受講することになりました。無料カウンセリングは同時に選考...

記事の共有・保存はこちら
  • URLをコピーしました!
目次