u16suzuの blog

日々学んだことのメモブログです。

ブロック引数を使う場合の haml のシンタックスエラー

ブロック引数 なのに、インデントができていないこと が原因
以下の例で発生する。

= form_for @book do |f| # ブロック引数
-# この行でインデントなし

以下のエラーが全て発生する。

syntax error, unexpected ')'

unterminated string meets end of file

syntax error, unexpected $end,

予想されない ) があるとか、文字列が終わる前にファイルの終端にたどり着いちゃった的なことをいわれている。


以下の通り、インデントを2個追加すればなおる。

= form_for @book do |f|
  -# この行の行頭に2個半角スペースを追加した

自分が使っている vim だと, 半角スペース2個だけだとうまく入力できないようなので
上の例では コメントを利用している。