MODEL
class User < ActiveRecord::Base
has_one :address, :dependent => :destroy
accepts_nested_attributes_for :address
end
CONTROL
def new
@user = User.new
@user.build_address # Adicionei
…
VIEW partial _form
…
<% f.fields_for :address do |b| %> # Adicionei
<%= b.text_field :city_manual %> # Adicionei
<% end %> # Adicionei
…
So this is not working… when browser to users/new it do not show the
field as should…
Change this to a has_many all works.
Using has_one this make me crazy and not work… anyone help?
On Nov 28, 2010, at 11:29 AM, Humberto R. wrote:
@user.build_address # Adicionei
field as should…
Change this to a has_many all works.
Using has_one this make me crazy and not work… anyone help?
Sorry, I don’t have an answer for you on this. But I’m curious – why
are you putting the address in a separate model if you are using
has_one? It seems like an over-normailization to me. Why not just put
those attributes in the user and be done with it?
Walter
Model address has 8 attributes… i did it to minimize user table
size.
About the problem… just try in your machine you will se it not
workin as should do.
in your
def new
try @user.address = Address.new
Just tested. Everything works fine.
Make sure:
- you didn’t forget to put “belongs_to :user” association in your
Address model
- use “<%=” for your “f.fields_for :address” in the _form view file.
Hope this helps.
The result is the same… the field do not show in view when browsing
to /users/new