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
こういったサイトを参考にしながら