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

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

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

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

この記事はフリーランスエンジニアでブロガーの著者が書いています。

オンライン学習サイトの「Udemy 」でサイバーウィークセール開催中!

  • 30日間返金保証付き
  • 対象コースが1,200円〜(12/4まで)

おすすめWordPress講座5選

おすすめRuby on Rails講座6選

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】

2019年2月16日
ruby on railsのおすすめ学習本

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

2019年2月20日
>>Ruby on Railsの学習方法のまとめはこちら

Ruby on Rasilsの学習方法まとめ

2019年7月23日

ポテパンキャンプの選考の流れとポイント【要チェック】

2019年2月10日
記事のタイトルとURLをコピーする
Amazonでお得に買い物

Amazonを使って、いろんなモノを購入されると思いますが、Amazonのギフト券(チャージ式)のキャンペーンを利用するとお得です。

現在開催されているのは

  1. チャージ金額に合わせて最大2.5%ポイントが還元されるキャンペーン
  2. 5,000円以上のチャージで1,000ポイントがもらえるキャンペーン(初回購入のみ)
の2つ。

さらに、Amazonプライム会員であれば、ゲットできるポイントの利率が一般会員よりも高くなってお得です!

ぜひこの機会に、キャンペーンを利用して、欲しい物をお得に購入してみてください。

  • クレジットカード・電子マネーでのチャージはキャンペーン対象外
ギフト券の有効期限は10年なので、急いで使い切る必要はなし! 多めにチャージしておいて損はないね!