@#$%ing forms using collection_select


#1

Good morning,

I have a form with 5 fields. When I click “Save”, 3 of the 5 fields
save to the database and the other 2 are saved as NULL.

The form code is attached.

The 2 fields that will not save are using collection_select. On the web
page I can click on each of the drop down boxes and select an item, but
for some reason they will not save to the database fields.

Thank you,

Frank


#2

On 3 Mar 2009, at 16:47, Frank K. wrote:

page I can click on each of the drop down boxes and select an item,
but
for some reason they will not save to the database fields.

Hard to tell without the matching controller code but I’m guessing
that your controller code is expecting the collection_select
parameters to be in the same place as other ones (ie inside
params[:time_subtype], assuming that’s the name of your model) but it
won’t be because you’re using a raw collection_select rather than
form.collection_select.

Fred


#3

Frank K. wrote:

Good morning,

I have a form with 5 fields. When I click “Save”, 3 of the 5 fields
save to the database and the other 2 are saved as NULL.

The form code is attached.

The 2 fields that will not save are using collection_select. On the web
page I can click on each of the drop down boxes and select an item, but
for some reason they will not save to the database fields.

Thank you,

Frank

I think that :name, :comment, :active_flag values are stored in the
params[:time_subtype] array because text_field, text_area and check_box
are called on the form object.
However your collection_select calls do not refer to the form, so
they’re not stored in params[:time_subtype], and if you update your
object with params[:time_subtype] as parameter the :entity_id,
:time_type_id are not found.
With your code these values are accessible in
params[:facility][:entity_id] and parms[:time_type][:id]. What
attributes do these two form elements refer to ?


#4

Frederick C. wrote:

On 3 Mar 2009, at 16:47, Frank K. wrote:

page I can click on each of the drop down boxes and select an item,
but
for some reason they will not save to the database fields.

Hard to tell without the matching controller code but I’m guessing
that your controller code is expecting the collection_select
parameters to be in the same place as other ones (ie inside
params[:time_subtype], assuming that’s the name of your model) but it
won’t be because you’re using a raw collection_select rather than
form.collection_select.

Fred

Ahhhh…the form.collection_select pointed me in the right direction.
I’ve attached my changes. Thank you Fred & Sébastien for your replys.