I haven''t looked into this for several months, but there still doesn''t seem to be an obvious way to generate a HTML select element for choosing multiple items to be set for a has_many association. <select id="person_task_ids" multiple="multiple" name="person[tasks][]"> <option value="1">Do something</option> ... </select> Let''s see. There''s a handy helper method that results in code like this, when used straightforwardly <%= collection_select :person, :tasks, Task.find(:all), :id, :description, {}, :multiple => true %> Here''s the resulting HTML <select id="person_tasks" multiple="multiple" name="person[tasks]"> <option value="1">Do something</option> ... </select> Unfortunately, none of the options gets selected. When the form is submitted, the resulting params are "person" => { "tasks" => "1" } Only the first selected item is transferred and, anyway, "1" is not a task, it is a task id, so this won''t work. Here''s the next attempt: <%= collection_select :person, :task_ids, Task.find(:all), :id, :description, {}, :multiple => true %> Well, that blows up immediately as there is not such method as person#task_ids. But we can add it manually: class Person < ActiveRecord::Base def task_ids tasks.map(&:id) end end Now we get <select id="person_task_ids" multiple="multiple" name="person[task_ids]"> <option value="1">Do something</option> ... </select> That was almost good. How about this, then? <%= collection_select :person, :task_ids, Task.find(:all), :id, :description, {}, :multiple => true, :name => ''person[task_ids][]'' %> Ah yes, that''s it. But why does it have to be so complicated? Michael -- Michael Schuerig mailto:michael@schuerig.de http://www.schuerig.de/michael/