Haml Tips

Ruby on Rails + Haml の Tips というかよく調べることまとめ。

■ 条件分岐によるclass名設定

#someId{class: some_condition? && 'someClass'}

■ 改行、半角空白が挿入される問題

Hamlでerbの「-%>」(直後の改行を出力しない)を実現するには? – QA@IT はてなブックマーク - Hamlでerbの「-%>」(直後の改行を出力しない)を実現するには? - QA@IT

■ ul, li の繰り返し

こんな感じの ul 内に li が3つ現れたら、次の ul へというDOMをHamlで出力するには、

<ul>
    <li>a</li>
    <li>b</li>
    <li>c</li>
</ul>
 
<ul>
    <li>d</li>
    <li>e</li>
    <li>f</li>
</ul>

in_groups や in_groups_of を使って、下記のような感じに書ける。

- @items.in_groups_of(3) do |item_group|
  %ul
    - item_group.each do |item|
      %li
        = item.name

in_groups (Array) – APIdock はてなブックマーク - in_groups (Array) - APIdock

in_groups_of (Array) – APIdock はてなブックマーク - in_groups_of (Array) - APIdock