Ruby on Rails を使った開発で、チェックボックスを表示するために
<table> <% for item in @items %> <tr> <td><%= check_box("item", "done") %></td> <td><%= h item.description %></td> </tr> <% end %> </table>
と記述しても、item.done が True なのにチェックボックスにチェックが付きません。
それもそのはず、check_box の第1引数で指定するのはインスタンス変数の名前です。変数名の先頭に@が付いていないとダメ。だから
<table> <% for @item in @items %> <tr> <td><%= check_box("item", "done") %></td> <td><%= h @item.description %></td> </tr> <% end %> </table>
と記述すれば、@item.done が True のときチェックボックスにチェックが付きます。
分かりにくいです。ホント。