Sean Colquhoun wrote:
Okay. Either I'm missing something WAY basic or Rails and its API are lying to me (experience tells me it's the former). Here is the basic setup for a check_box tag in the API:
<%= check_box('object', 'method') %>
Right? So here's what I type in.
<%= check_box('todoitems', 'done') %>
"todoitems" is my table, and "done" is one column in that table. Hence, it is todoitem's method. But Rails keeps giving me this error:
undefined method `done' for #<Array:0x416fb18>
Now, I think that this has something to do with me making these checkboxes in a for...in loop. But I don't understand what I'm doing wrong. Anybody care to enlighten me?
You've set @todoitems to either a has_many association or the result of a find(:all,..,) -- a collection or an array of ActiveRecord model objects. However Rails' AR form helpers expect their first argument to be the name of an instance variable that holds a single ActiveRecord object.
So you want
<% for @todoitem in @todoitems %> <%= check_box :todoitem, :done %> <% end %>