Check_box_tag doesn't insert parameter into table

Help! Can anyone see why my code isn’t inserting the course_id
parameter into my table?

<%= f.label :course_id %>
<% for course in current_user.courses.find(:all, :order => 'order_taught') %>

  <%= check_box_tag 'assessment[course_id][]', course.id %>
  <%=h course.name %>

<% end %>

Below, you can see the Development Log. It shows that the parameter
for “course_id”=>[“2”]. But as you can see, the INSERT INTO is
inserting a value of 1 for course_id:

Processing AssessmentsController#create (for 127.0.0.1 at 2010-01-16
16:27:24) [POST]
Parameters: {“commit”=>“Create”,
“authenticity_token”=>“Z8yZOo9q2tz6IC1jmV33qvMO7ULRzcJ8e7q6B0xHP9Y=”,
“assessment”=>{“name”=>"", “date(1i)”=>“2010”, “date(2i)”=>“1”, “date
(3i)”=>“16”, “standard_id”=>“9”, “course_id”=>[“2”],
“strand_id”=>“2”}}
e[4;36;1mUser Load (0.0ms)e[0m e[0;1mSELECT * FROM “users” WHERE
(“users”.“id” = 12) LIMIT 1e[0m
e[4;35;1mAssessment Create (0.0ms)e[0m e[0mINSERT INTO
“assessments” (“name”, “created_at”, “updated_at”, “date”, “user_id”,
“standard_id”, “strand_id”, “course_id”) VALUES(’’, ‘2010-01-17
00:27:24’, ‘2010-01-17 00:27:24’, ‘2010-01-16’, 12, 9, 2, 1)

Any help would be greatly appreciated!

On Jan 16, 7:37Â pm, Demetrius [email protected] wrote:

   <%=h course.name %>

  <% end %>

Below, you can see the Development Log. It shows that the parameter
for “course_id”=>[“2”]. But as you can see, the INSERT INTO is
inserting a value of 1 for course_id:

Not sure where the 1 is coming from, but what you’re doing still
doesn’t make sense. What is the expected behavior if the user checks
two boxes, passing :course_id => [“2”, “5”] in? You may have a
belongs_to/has_many reversed here…

–Matt J.

2010/1/17 Demetrius [email protected]:

   <%=h course.name %>

  <% end %>

Below, you can see the Development Log. It shows that the parameter
for “course_id”=>[“2”]. But as you can see, the INSERT INTO is
inserting a value of 1 for course_id:

I guess the problem is that course_id is being passed as an array due
to the [] in the check_box_tag call. Would a radio set be more
appropriate so only one can be selected?

Colin

Demetrius, could you show us the controller code which handles that
form?

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs