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 -- Posted via http://www.ruby-forum.com/.
Sean, did you check your database? Is user_id filled up correctly? tom Sean Six wrote:> 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-- ==============================================================================Tomas Meinlschmidt, MS {MCT, MCP+I, MCSE, AER}, NetApp Filer/NetCache www.meinlschmidt.com www.maxwellrender.cz www.lightgems.cz ===============================================================================
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. On May 11, 8:26 am, Tom Z Meinlschmidt <to...-ooGa/4BNRfSw0JuIXryQZA@public.gmane.org> wrote:> Sean, > did you check your database? Is user_id filled up correctly? > > tom > > Sean Six wrote: > > 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 > > -- > ==============================================================================> Tomas Meinlschmidt, MS {MCT, MCP+I, MCSE, AER}, NetApp Filer/NetCache > > www.meinlschmidt.com www.maxwellrender.cz www.lightgems.cz > ===============================================================================
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 -- Posted via http://www.ruby-forum.com/.
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-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org>> > 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 > -- > Posted via http://www.ruby-forum.com/. > > > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---