Class User < ActiveRecord::Base
has_many :articles
class Article < ActiveRecord::Base
belongs_to :user
After a user posts an article, I want to include their username. I
presume I should just be able to use <%= article.user.screen_name %> in
the articles/index.
This give me:
You have a nil object when you didn’t expect it!
The error occurred while evaluating nil.screen_name
Sean,
did you check your database? Is user_id filled up correctly?
tom
Sean S. wrote:
You have a nil object when you didn’t expect it!
The error occurred while evaluating nil.screen_name
–
Tomas Meinlschmidt, MS {MCT, MCP+I, MCSE, AER}, NetApp Filer/NetCache
I know this doesn’t help the core problem, but it might help in
debugging to set that column to ‘NOT NULL’ in your database, and set a
default value.
I can get <%= article.user_id %> to print the id number of the user.
But when I try to use <%= article.user.screen_name %> I get the error:
You have a nil object when you didn’t expect it!
The error occurred while evaluating nil.screen_name
Could this mean that the user_id field in the article table is filled in
but
there is no user with that id? Have a look in the database. I would
have
thought this might produce a different error though.
If the db is ok use the ruby debugger to break at that point and see
what
the variables are set to.
Colin
2009/5/17 Sean S. [email protected]