Hi,
My system has been encounter this problem, and I couldn't find solution after debugging. My scenario is stated below:
class user has_many :posts has_many :comments end
class post belongs_to :user has_many :comments, :as => :commentable end
class comment belongs_to :post belongs_to :user end
For this case, I am trying to retrieve each post's comment together with submitter username and I write as below:
class PostsController<ApplicationController def show raise @post.comments.first.user.inspect end end
While the first time I run this script, it works fine. But, after I hitting a refresh, it hits following problem "can't dup NilClass". It is repeats the same for everytime i restart mongrel, working for the first time and failed for the rest.
I append the application error log as below: /opt/local/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ base.rb:2189:in `dup' /opt/local/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ base.rb:2189:in `scoped_methods' /opt/local/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ base.rb:2193:in `current_scoped_methods' /opt/local/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ base.rb:2183:in `scope' /opt/local/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ base.rb:1548:in `find_every' /opt/local/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ base.rb:1588:in `find_one' /opt/local/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ base.rb:1574:in `find_from_ids' /opt/local/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ base.rb:616:in `find' /opt/local/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ associations/belongs_to_association.rb:44:in `find_target' /opt/local/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ associations/association_proxy.rb:240:in `load_target' /opt/local/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ associations/association_proxy.rb:112:in `reload' /opt/local/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/ associations.rb:1231:in `user'
Need some help for this. Thanks in advance.