Rails の check_box が分かりにくい!

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 のときチェックボックスにチェックが付きます。

分かりにくいです。ホント。