Ruby & Rails > 第27回 続・altERBで楽々Railsコーディング! ~Slimの紹介~
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
CTC教育サービスはコラム「Ruby & Rails > 第27回 続・altERBで楽々Railsコーディング! ~Slimの紹介~ 」を公開しました。
こんにちは、藺藤です。
前回のコラムではHTMLテンプレートエンジンの「Haml」を紹介しました。 HamlをERBの
代わりに使うと簡潔な記述でHTMLを作成できます。(="altERB")
今回はその続きとして、もう一つのテンプレートエンジンである「Slim」を紹介します。(*1) (*2) Slimを使うことで、HTMLの記述が簡潔になります。 SlimはHTMLに特化しているため、Ruby標準のERBを使うのに比べ、格段にコーディング量が少なくなります。 また、SlimはRuby製ですのでRubyコードとの親和性も高いです。
初めにSlimを簡単に紹介します。 次にSlimの導入方法を説明します。 その後、実際に動かしながらSlimの文法を説明してゆきます。 最後にRailsでの利用方法や、ちょっぴり便利な機能に触れたいと思います。
今回は以下の環境で動作確認しています。
•CentOS 6.5
•Ruby 2.1.4 x64
•Slim 3.0.6
•Rails 4.2.6
•Redcarpet 3.3.4
Slimとは
SlimのREADMEから、Slimがどのようなものなのかを端的に表す次の文章を引用します。(*3)
"Slim は 不可解にならないように view の構文を本質的な部品まで減らすことを目指したテンプレート言語です。標準的な HTML テンプレートからどれだけのものが削除できるか確かめるところから始まりました。(<, >, 閉じタグなど) 多くの人が Slim に興味を持ったことで, 機能性は発展し, 柔軟な構文をもたらしました。"
「Slim」という名が示す通り、本質的ではない部分をHTMLからカットし、すっきりさせた言語ということのようです。
どれくらい"スリム"になるのか、実際にSlimコードの例を示します。
[level.html.slim]
select#level
option[value="1"] Info
option[value="2"] Warn
option[value="3"] Errorこれは次のようなHTMLに変換されます。
[level.html]
<select id="level">
<option value="1">
Info
</option>
<option value="2">
Warn
</option>
<option value="3">
Error
</option>
</select>この例では、記述したSlimは88文字ですが、変換後のHTMLは157文字となりました。 Slimを使うことで記述量を半分近くに減らせたことになります。 生成されたHTMLとSlimのソースコードを見比べてください。 HTMLに比べ、Slimの方はずいぶんとすっきりしていますね。
この続きは以下をご覧ください
http://www.school.ctc-g.co.jp/columns/masuidrive/masuidrive27.html
ソーシャルもやってます!