form.view.erb containing model related and non-model related fields.

Hello all,

I would like to have a form in which some of the fields are linked to model and some fields are not. When I use form_for tag it binds to a particular model and I cannot create form fields that aren’t correspond to one of the column name of the table (Model). Hence what I think is I should use form_tag instead of form_for so that it contains whatever the form fields it want but one thing I can’t find by googling is how can I connect specific fields to a model leaving other fields free of model?

In other words, If I have 5 text_fields in a form how can I link only 3 text_fields to a model and leave other 2 fields free?

Thank you.

Hi,

Consider binding your form to an ActiveModel not an ActiveRecord class. In your ActiveModel, you can add in the extra fields that you don’t want/have in your ActiveRecord class. Using ActiveModel will also let you follow the same idioms in ActiveRecord, such as validation.

Thanks,

Henry

For the model fields populate the field with my_model.the_attribute
and for the others just use the value. Then extract the data from
params in the controller.

Or use ActiveModel as suggested by Henry, which is a more OO solution.

Colin

Hello all,

I would like to have a form in which some of the fields are linked to model and some fields are not. When I use form_for tag it binds to a particular model and I cannot create form fields that aren't correspond to one of the column name of the table (Model). Hence what I think is I should use form_tag instead of form_for so that it contains whatever the form fields it want but one thing I can't find by googling is how can I connect specific fields to a model leaving other fields free of model?

You can still use form_for, but use text_field_tag rather than f.text_field for the non model form inputs.

Fred

You can still use form_for, but use text_field_tag rather than f.text_field for the non model form inputs.

Later how can I send those values inside text_field_tag to different controller’s action using button_to?

thank you.