Forum: Ruby on Rails trouble linking models

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Ee4ead180a47f98999854b3e1eef7638?d=identicon&s=25 Sean Six (seansix)
on 2009-05-11 13:55
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
1e7782e67bb34c9c67ed19d5cde5f4eb?d=identicon&s=25 Tom Z Meinlschmidt (Guest)
on 2009-05-11 14:28
(Received via mailing list)
Sean,
did you check your database? Is user_id filled up correctly?

tom

Sean Six 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

www.meinlschmidt.com  www.maxwellrender.cz  www.lightgems.cz
===============================================================================
54926dd0eeb29e2d1f75d74e401ff576?d=identicon&s=25 p_W (Guest)
on 2009-05-12 17:17
(Received via mailing list)
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.
Ee4ead180a47f98999854b3e1eef7638?d=identicon&s=25 Sean Six (seansix)
on 2009-05-17 13:17
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
5f94b9b346c2aa648a80bc259978e5bc?d=identicon&s=25 Colin Law (Guest)
on 2009-05-17 14:50
(Received via mailing list)
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 Six <rails-mailing-list@andreas-s.net>
This topic is locked and can not be replied to.