プログラミング的なSomething

読者です 読者をやめる 読者になる 読者になる

プログラミング的なSomething

ITエンジニア(?)目線で生活・自転車・トレーニング話を綴ります

Hamlのsyntax error, unexpected keyword_ensure, expecting keyword_endエラーについて

今日も今日とてハマったことやハマったことを書いていきます。
はい、題の通りHamlのエラーです。Rubyのスクリプトを埋め込む場合に起きます。Hamlはインデントをしっかり考えないと時間がかかってしゃーない。早く慣れたいもんです。

テーブルの中身を配列で構成する場合を考えましょう。
以下が失敗例です。「−」と「%tr」のインデントを合わせたくてこう書きましたが、全くの検討外れでした。

%tbody
  -@str.get_hoge.each do |hogehoge|
  %tr
    %td= hogehoge[1] 
    %td= hogehoge[2]

正しくはこのように%trに対してスペースを2つ空けます。

%tbody
  -@str.get_hoge.each do |hogehoge|
    %tr
      %td= hogehoge[1] 
      %td= hogehoge[2]

%trの位置が重要だったんですね。結構ハマってしまった。
「−」を使ってRubyスクリプトを書く場合には気を付けたいです。

HTML2Haml | Convert HTML Snippets to Haml
こういったサイトを参考にしながら