hamlやるときに詰まったとこ
最近ちょっと触っているhamlについて触れました。
ただこいつ、Railsを書くとやたらはまります。(私だけ?)
しかも大体の場合が構文エラーなので、割としょうもない。
なのでそういった手間を少しでも省こうということでここにまとめます。
兄弟のタグ(?)は同じインデントに。
これはダメ
%table %tr %td りんご %td 甘酸っぱい %td おおむね赤 %tr %td なつみかん %td かなり酸っぱいと思う %td たいてい黄色
これはOK
%table %tr %td りんご %td 甘酸っぱい %td おおむね赤 %tr %td なつみかん %td かなり酸っぱいと思う %td たいてい黄色
なぜなのかはわかりませんが、親子関係は無視してもいいけれど横の足並みはそろえましょうと…
ハイフンでRubyの式を評価するときはインデントしない!
これはダメ
%h1 Hello#index %p Find me in app/views/hello/index.html.haml - num = Random.new.rand(10) - if (num % 2 == 0) #{num} - else odd
%h1 Hello#index %p Find me in app/views/hello/index.html.haml - num = Random.new.rand(10) - if (num % 2 == 0) #{num} - else odd
これはOK
条件式のあとはインデントを下げて何かしら書く
これはダメ
%table %tr %td りんご - if false %td 甘酸っぱい %td おおむね赤 %tr %td なつみかん %td かなり酸っぱいと思う %td たいてい黄色
%table %tr %td りんご - if false - p 'never do' %td 甘酸っぱい %td おおむね赤 %tr %td なつみかん %td かなり酸っぱいと思う %td たいてい黄色
これはOK
普通に書いていたらやらないかもですが、はじめの探り探りの状態でハマってしましました。
以下の記事にも書いています。
ブロック引数を使う場合の haml のシンタックスエラー - u16suzuの blog
他にもhtmlに出力する用のコメントで引っかかったりすることもあるみたい…。
なれるまでは探り探りですがなれればviewページをスイスイ書けると信じて!!!