【超初心者向け】Hamlの使い方と躓いたエラーの解消方法まとめ

haml

こんにちは。たなか(@tanaka_ricecake)です。

Ruby on Railsを中心に、プログラミング関連の記事をあげている当ブログですが、Haml関連の記事が増えてきたのでまとめてみようと思います。

Haml とは

Hamlは、Webドキュメントにインラインコードを書かずに、HTMLをきれいにするように設計されたテンプレートシステムです。

Hamlを利用することで、HTMLを簡易的に記述することができます。Railsでの開発では使われている現場も多いかと思います。

最初は見慣れないお作法に引っかかることかと思いますが、以下ではあるあるな引っかかりポイントを解消している記事を紹介します。

Hamlをerbに変換する一番簡単な方法

【Rails】Hamlをerbに変換する一番簡単な方法

まずは見慣れないHamlを解読するために役立つ、変換ツールのご紹介です。

 

  • Hamlをerbに変換するサイト「haml2erb」
  • HTMLをHamlに変換するサイト「Convert HTML to HAML」

 

上記2つを利用することで、まずは見慣れた記述に落とし込みつつ、やりたいことに沿って修正していけばOKですね。

Hamlの中でbyebugを使う

[Rails] Hamlの中でbyebugを使う

viewに適切にデータが行き渡っているか確認したい時など、html.erbに<%= byebug =%>と記述したいケースがあります。

じゃあそれ、hamlの時はどうやって書くの? という疑問を解消しています。

Hamlのビューでbyebugしたいのに、xss_mods.rbで止まってしまう

Hamlのビューでbyebugしたいのに、xss_mods.rbで止まってしまう

Hamlの中でbyebugを使う」にも関連しますが、ビューでデバッグしているはずなのに、haml/helpers/xss_mods.rbで引っかかってしまい、欲しいデータが見えない!という問題に躓きました。

xss_mods.rbはhamlが持つhelpersファイルの一つで、ビューの読みこみの際に処理が通るというものです。

先の記事と読み合わせることでHaml上でのデバッグについては困らなくなります。

Hamlの中でscriptタグを使う方法

【Haml】Hamlの中でscriptタグを使う方法【JavaScript】

通常htmlタグの中にはscriptタグを埋め込むことができますが、Hamlではどう書くの?という疑問にお答えしています。

この辺はお作法なので、記事見たら一撃ですね。

Hamlの中でeach doを使う方法

Hamlの中でeach doを使う方法【Ruby】

こちらもお作法系。

Hamlの中でeach doの繰り返し処理を行いたいけど、どう書いたらいいかわからない!という疑問にお答えします。

ActionView Template::Error (Got “elsif” with no preceding “if”)でエラー

【Haml】ActionView Template::Error (Got “elsif” with no preceding “if”)でエラー【解消】

いささかニッチな記事ですが、Hamlを記述して開発を進める中で、以下のようなエラーに遭遇しました。

Completed 500 Internal Server Error in 222ms (ActiveRecord: 2.9ms)

ActionView::Template::Error (Got "elsif" with no preceding "if"):

上記の解消方法について解説しています。

同じ症状でお悩みの方の参考になれば幸いです。

Haml記事  まとめ

haml

ということで今回はHamlに関するtipsやハマったエラーの解消について記事をまとめてみました。

お作法が分かれば作業進められるはずなので、とにもかくにも慣れることがHaml攻略の近道ですね。

デザインを外部に委託したりする場合にデザイナーさんとやりとりしづらかったりというデメリットもあるHamlですが、身に着けることで素早く、かつ少ない記述でViewを書けるようになります。

上記のHaml記事群が、あなたのHaml学習に役立てば幸いです。

今回はここまで。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です