Spent over 24 hours trying to figure this - multiple params

I feel really stupid spending over 24 hours trying to figure out 1 line
of code but I still can't get it.

I have a table addpackages, that I want to update multiple fields from
table rosters based on the selection of a drop down.

In addpackage.rb:
def create
   @addpackage = Addpackage.new(@params["add"])

In new.rhtml (view):
<select name="add[email]">
<%=options_from_collection_for_select(@rosters, "email", "lname",
selected_value = nil)%>

This code works perfect for obtaining the correct email address based on
drop down and updating the addpackages table. I could replace "email"
with "fname", "lname", etc etc and it would work fine also. Whats
killing me is I can only get one parameter to pass and update. I
cannot for the life of me figure out how to pass email, fname, and lname
based on the selected drop down.

Don't. Pass the primary key (ie. 'id') in the <select> and then your controller look up that roster entry and now you have access to everything you want.

-philip

with "fname", "lname", etc etc and it would work fine also. Whats
killing me is I can only get one parameter to pass and update. I
cannot for the life of me figure out how to pass email, fname, and lname
based on the selected drop down.

Don't. Pass the primary key (ie. 'id') in the <select> and then your
controller look up that roster entry and now you have access to
everything
you want.

-philip

Okay I made the folling changes to view:
<select name="add[id]">
<%=options_from_collection_for_select(@rosters, "id", "lname",
selected_value = nil)%>

Now in my controller can you give an example of how to set:
roster.fname = addpackage.fname (I know my syntax is incorrect)

Dn't you mean the other way? I think you do... so...

p = Package.new
r = Roster.find_by_id(params[:add][:id])
p.fname = r.fname

....