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に下のコードを書き込みます。

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

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

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

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

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

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

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

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

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

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

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

html2SLIMを使って変換する

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

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

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

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

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

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

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

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

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

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

SLIMでのコードの書き方【Ruby on Rails】

2019年2月16日

Ruby on Railsの学習にオススメな本4選

2019年2月20日

「役に立ったよ」と思ったらシェアお願いします!

ABOUTこの記事をかいた人

1989年生まれの29歳。留学、ワーホリ、世界一周から帰ってきました。 iSara5thに参加して、現在駆け出しフリーランスとして頑張っています。 旅行が好きで、バックパッカーとしていろんなところに行きました。世界一周の情報をまとめたブログも運営中。
世界一周ライフトラベラー