開発メモ

開発していて手こずりやすいところを解説します

railsでの開発をhamlにする方法

railsでのhtml(html.erbファイル)をhaml(html.hamlファイル)に変換する方法を説明していきます。

hamlとは

そもそもhamlとは「マークアップは美しくあるべき」という考えに基づいて開発された言語です。
hamlを使うことによって、viewファイルを「きれいに」「読みやすく」「生産的に」作成することができます。
要はhtmlをきれいな言語で置き換えたものがhamlであると説明すればわかりやすいでしょう。

railshamlを導入する

gemfileに gem 'haml-rails' を記述し、ターミナルで
bundle installします。

するとターミナルで

HEADS UP! Haml 4.0 has many improvements, but also has changes that may break
your application:

* Support for Ruby 1.8.6 dropped
* Support for Rails 2 dropped
* Sass filter now always outputs <style> tags
* Data attributes are now hyphenated, not underscored
* html2haml utility moved to the html2haml gem
* Textile and Maruku filters moved to the haml-contrib gem

For more info see:

http://rubydoc.info/github/haml/haml/file/CHANGELOG.md

という警告のようなものが出てきます。
こちらはあまり気にしなくて大丈夫です。

次にもともとhtmlで書かれていたhtml.erbファイルをhtml.hamlに置換しましょう。

htm.erbからhtml.hamlへ置換する

gemfileに
gem 'erb2haml'
を記述してbundle installします。

ここでターミナル上で
rake -T
というコマンドを実行してみましょう。
このコマンドを実行すると、現在の作業しているrailsアプリケーションで実行できる
rake ~~~
というコマンドの一覧を表示してくれます。

これを実行するといろいろなrakeコマンドが表示される中に

rake haml:convert_erbs                                 # Perform bulk conversion of all html.erb files ...
rake haml:erb2haml                                     # Convert html.erb to html.haml each file in app...
rake haml:replace_erbs                                 # Perform bulk conversion of all html.erb files ...

という表示があるのが確認できるはずです。

これが確認できたらターミナルで
rake haml:replace_erbs
を実行しましょう。

f:id:ryouzis:20150827220707p:plain うまくいくとこのように表示されます。

それからもともと存在していたviewファイルを見てみると・・・ f:id:ryouzis:20150827220832p:plain このようにhtml.hamlというファイルに置換されていたら成功です!