Form for Object Creation

Can someone explain what is the correct way with Rails 1.2 to use a form
to
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
a
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.

Thanks,

Keith

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
core
problem.

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

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

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

In my model I have:

def jar_file=(jar_field)
#stuff
end

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)
#stuff
end

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.

Keith

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