Form for Object Creation

Can someone explain what is the correct way with Rails 1.2 to use a form
create an object.

I know start_form_tag is changed to form_tag but what about form_for?

I am trying to map a field on to field in the object which is created by
method call,
so something like this def password=(pass) and so on. However, this
seems to
work fine for me
in some cases but not in others.



Both take blocks now. When using form_for, supply the block with a
symbol denoting the corresponding object, then you don’t have to
restate it everyplace:

<% form_for :people do |f| %>

name <%= f.text_field :name %>

address <%= f.text_field :address %>

<% end %>

In particular, this is great when there are multiple forms on the
same page. You specify:

<% form_for :people %>

stuff here

<% end %>

<% form_for :addresses %>
#stuff here
<% end %>

Does this help?

Ok, I have rewritten my form code to follow this but its not solving my

Maybe its just me but rails seems a bit of a mess when it comes to form

I have one app that runs against 1.1.6. I have a form with the following

<%= form.file_field(“jar_file”) %>

In my model I have:

def jar_file=(jar_field)

This works fine. Howevern in a new app running on rails 1.2.1 I have the
following code:
<%= f.password_field(“password”) %>

with this in my model:

def password=(pass)

This fails with the error:

undefined method `password’ for #User:0x377e560

Is there a ‘correct’ approach for this. Rails seems to allow me to set
up forms in
a number of ways but I can find nothing that says this is the right
way to do it.


This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs