今日は半日これにハマってしまって全く進まなかった。
なんてことないeach文で、一覧表示機能を実装していた時のこと。
コントローラー def index @cases = Case.all end
ビュー <% @cases.each do |case| %> <li><%= case.case_name %></li> <li><%= case.case_about %></li> <% end %>
ActionView::SyntaxErrorInTemplate (Encountered a syntax error while rendering template: check
は???こんな簡単なeach文この道5ヶ月(赤ちゃん)の私が間違えるはずないのだが??
しかし向こうもなかなか折れちゃくれない。文法的なミスがあるとは考えづらい。
考えること3時間ほど・・・
「もしかして”case”つかえないんじゃね??」
そこで
<% @cases.each do |hoge| %> <li><%= hoge.case_name %></li> <li><%= hoge.case_about %></li> <% end %>
無事一覧が表示されましたとさ。とほほ。
Rubyには予約語というものがあり、内部処理もしくは事前に定義されているメソッドに用いられる。
これらの予約語は変数名やオブジェクト、定数名として使うことはできない。
“case”は条件分岐で使われる予約語である。
気づけてよかった。
コメント