So you’ve probably figured by now that polymorphic associations don’t play well with :through. It’s a pretty tough problem to solve, but thankfully there are ways around it. Josh Susser has a good write-up of how to cope.