Forum: Ruby on Rails HABTM relationships and retrieving multiple selects in contr

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Shelby W. (Guest)
on 2006-01-15 19:04
(Received via mailing list)
Hello all,

I have a product table and an option table that are connected to one
another
via a join table.  These two tables both contain has_and_belong_to_many
relationships with each other.

I am trying to setup a page where I will create a product and add in its
options.  I have already populated the options table with data to draw
from.

so, to start, here is the method from my controller:
def new
  @product = Product.new()
  @opt = Option.find_all
end

and we go off to the "new" view, where I have this:

<select name="product[options][]", size='5', multiple='multiple>
  <%= options_from_collection_for_select(@opt, "id", "name", @
product.options) %>
</select>
other product creation code goes here...

This select statement does correctly draw the options that were found by
the
controller and put into @opt. before displaying this page.

This form submits to the create method of the controller, where I have
this:
def create
  @product = Product.new(params[:product])
  @product.save
end

Well, this create controller does not work.  WebBrick reports "option
expected, got string".  I see that the option ID I select is being
passed in
as a parameter like "options"=>["3"].  But obviously I cannot retrieve
the
option ids, create the options, and add them to the product, and save it
all
in such a simplistic manner.  I've tried to figure out how to, but
can't.
I've read the Agile book, on page 356, but still can't understand.

Can anyone provide some help?

Thanks,
Shelby
This topic is locked and can not be replied to.