フロント実装〜Haml〜
Hamlを導入
まずは、HTMLをより効率的に書けるようになるビューのテンプレートエンジンを導入する
Hamlとは
Hamlとは、HTMLよりも簡単に書くためのビューテンプレートエンジン。公式サイトによると「マークアップは美しくあるべき」という原則に基づいて開発された。Hamlを使用することで、「綺麗に」、「読みやすく」、「生産的に」ビューを作成することができる。
今のところはHamlの記法に従って書くと、より少ない労力でHTMLを書くことができるという認識で構わない。
HamlのGemについて
Railsでは、Haml記法を可能にするhaml-railsというGemが提供されている。このGemをプロジェクトにインストールすることで簡単にHamlを導入することができる。また、既存のerbファイルをHaml記法に変換することもできる。具体的な使い方はHamlの公式ページやGithubのリポジトリを見てみる。
環境ごとにインストールするgemを指定する
開発中にのみ使い本番環境ではインストールしたくないgemや本番環境のみで使用するgemなどgemの記述位置によって環境の指定をすることができる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
問題1:ChatSpaceにHamlを導入する
作業ファイル:Gemfile、application.html.erb、mailer.html.erb、mailer.text.erb
模範解答
1 2 3 4 5 6 7 8 9 10 |
!!!
%html
%head
%meta{:content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}/
%title ChatSpace
= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true
= javascript_include_tag 'application', 'data-turbolinks-track' => true
= csrf_meta_tags
%body
= yield
|
1 2 3 4 5 6 7 8 |
1 |
= yield
|
解説
まずはHamlを導入する。
今回はすべての環境で導入したいので、Gemfileの一番下に記述する。
その後、忘れずにbundle install
する。
次に、拡張子がerbのファイルをhaml
に変換する。
ターミナルで下記のコマンドを実行すれば一括で変換できる。
コマンドを実行すると途中で
1 |
Would you like to delete the original .erb files? (This is not recommended unless you are under version control.) (y/n)
|
と聞かれるが、今回はアプリケーションの初期段階であるため、yを選択する。すると、デフォルトで作成されたerbファイル(例えば、application.html.erbなど)がhamlに変換されていることが確認できる。
テキストエディタを拡張する
Haml,SCSSは、テキストエディタに拡張機能を入れることで効率的に記述することができる。
SCSSはHTML Snippetsに補完機能がついているので、今回はHamlの拡張機能を追加する。
①起動したウィンドウ画面左側の、アイコンメニュー内にある四角のアイコンをクリック
②左上の「Search Extensions in Marketplace」に「Better Haml」と入力し、Better Hamlをインストール。
③このようになっていれば完了。
拡張機能がインストールされるとHamlで記述したコードに色がつくようになる。
Haml,SCSSに限らず、新しい言語を使うときにテキストエディタに不便さを感じたら拡張機能を探してみるとよい。
テキストエディタのカスタムの仕方は検索するとたくさん出てくる。必要に応じて自分でカスタマイズできるように。