# Railroad problem with :through?

**URL:** <https://www.ruby-forum.com/t/railroad-problem-with-through/195741>\
**Category:** Rails\
**Created:** [September 29, 2010, 11:52am UTC](https://www.ruby-forum.com/t/railroad-problem-with-through/195741 "2010-09-29T11:52:30Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![sempti](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/96bed5/32.png) [@sempti](https://www.ruby-forum.com/u/sempti)\
**Post date:** [September 29, 2010, 11:52am UTC](https://www.ruby-forum.com/t/railroad-problem-with-through/195741/1 "2010-09-29T11:52:30Z")

</div>

I have the following model layout:

class List \< ActiveRecord::Base  
has\_many :subscribers, :through =\> :list\_subscribers  
has\_many :list\_subscribers  
end

class Subscriber \< ActiveRecord::Base  
has\_many :lists  
has\_many :lists, :through =\> :list\_subscribers  
end

class ListSubscriber\< ActiveRecord::Base  
belongs\_to :list  
belongs\_to :subscriber

validates\_uniqueness\_of :subscriber\_id, :scope =\> :list\_id  
end

and get the following error:

railroad -i -l -a -m -M | dot -Tpng | sed  
‘s/font-size:14.00/font-size:12.00/g’ \> doc/models.png  
/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active\_support/whiny\_nil.rb:52:in  
`method_missing': undefined method`klass’ for nil:NilClass  
(NoMethodError)  
from  
/usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active\_record/reflection.rb:320:in  
`source_reflection' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/reflection.rb:320:in`collect’  
from  
/usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active\_record/reflection.rb:320:in  
`source_reflection' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/reflection.rb:381:in`derive\_class\_name’  
from  
/usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active\_record/reflection.rb:112:in  
`class_name' from /home/kaitest/.gem/ruby/1.8/gems/dmattes-railroad_xing-0.5.4/lib/railroad/ar_model.rb:85:in`process\_association’  
from  
/home/kaitest/.gem/ruby/1.8/gems/dmattes-railroad\_xing-0.5.4/lib/railroad/ar\_model.rb:65:in  
`edges' from /home/kaitest/.gem/ruby/1.8/gems/dmattes-railroad_xing-0.5.4/lib/railroad/ar_model.rb:64:in`each’  
from  
/home/kaitest/.gem/ruby/1.8/gems/dmattes-railroad\_xing-0.5.4/lib/railroad/ar\_model.rb:64:in  
`edges' from /home/kaitest/.gem/ruby/1.8/gems/dmattes-railroad_xing-0.5.4/lib/railroad/models_diagram.rb:69:in`process\_class’  
from  
/home/kaitest/.gem/ruby/1.8/gems/dmattes-railroad\_xing-0.5.4/lib/railroad/models\_diagram.rb:29:in  
`generate' from /home/kaitest/.gem/ruby/1.8/gems/dmattes-railroad_xing-0.5.4/lib/railroad/models_diagram.rb:28:in`each’  
from  
/home/kaitest/.gem/ruby/1.8/gems/dmattes-railroad\_xing-0.5.4/lib/railroad/models\_diagram.rb:28:in  
`generate' from /home/kaitest/.gem/ruby/1.8/gems/dmattes-railroad_xing-0.5.4/bin/railroad:47 from /home/kaitest/.gem/ruby/1.8/bin/railroad:19:in`load’  
from /home/kaitest/.gem/ruby/1.8/bin/railroad:19

Any help much appreciated.

---

<div class="post-metadata">

**Author:** ![sempti](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/96bed5/32.png) [@sempti](https://www.ruby-forum.com/u/sempti)\
**Post date:** [September 29, 2010, 5:05pm UTC](https://www.ruby-forum.com/t/railroad-problem-with-through/195741/2 "2010-09-29T17:05:57Z")

</div>

Sem P. wrote:

Is this a typo, or your problem source?

> class Subscriber \< ActiveRecord::Base  
> has\_many :lists  
> has\_many :lists, :through =\> :list\_subscribers  
> end

class Subscriber \< ActiveRecord::Base  
has\_many :list\_subscribers  
has\_many :lists, :through =\> :list\_subscribers  
end

---

<div class="post-metadata">

**Author:** ![sempti](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/96bed5/32.png) [@sempti](https://www.ruby-forum.com/u/sempti)\
**Post date:** [September 30, 2010, 9:42am UTC](https://www.ruby-forum.com/t/railroad-problem-with-through/195741/3 "2010-09-30T09:42:40Z")

</div>

Ar Chron wrote:

> Sem P. wrote:
> 
> Is this a typo, or your problem source?
> 
> > class Subscriber \< ActiveRecord::Base  
> > has\_many :lists  
> > has\_many :lists, :through =\> :list\_subscribers  
> > end
> 
> class Subscriber \< ActiveRecord::Base  
> has\_many :list\_subscribers  
> has\_many :lists, :through =\> :list\_subscribers  
> end

My problem source.

Thank you.
