11175
(-- --)
1
Hello all. I have the following code in my Accounts controller:
@account = Account.create(params[:account])
@website = @account.websites.create(params[:website])
@contact = @account.contact.create(params[:contact])
My Account model has_one :contact and my Contact belongs_to :account,
yet I get the following error:
NoMethodError: You have a nil object when you didn't expect it!
The error occurred while evaluating nil.create
- - - - - -
I've scoured the documentation and can't find where I'm mucking things
up. Any help is greatly appreciated!
-tb
reHa
(reHa)
2
@account = Account.create(params[:account])
now you have new account - contact is empty
@account.contact is nil -> calling @account.contact.create is the same
as calling nil.create
try:
@account = Account.create(params[:account])
@account.contact = Contact.create(params[:contact])
rab
(Rob Biedenharn)
3
@account = Account.create(params[:account])
now you have new account - contact is empty
@account.contact is nil -> calling @account.contact.create is the same
as calling nil.create
try:
@account = Account.create(params[:account])
@account.contact = Contact.create(params[:contact])
Hello all. I have the following code in my Accounts controller:
@account = Account.create(params[:account])
@website = @account.websites.create(params[:website])
@contact = @account.contact.create(params[:contact])
@contact = @account.create_contact(params[:contact])
My Account model has_one :contact and my Contact belongs_to :account,
yet I get the following error:
NoMethodError: You have a nil object when you didn't expect it!
The error occurred while evaluating nil.create
- - - - - -
I've scoured the documentation and can't find where I'm mucking things
up. Any help is greatly appreciated!
-tb
It's right there in the docs for has_one. Compare to the similar semantics for has_many associations that you're obviously familiar with.
-Rob
Rob Biedenharn http://agileconsultingllc.com
Rob@AgileConsultingLLC.com