Ok, I got it to work with: @events = @artist.medias.where(:type => 'Event')
On Oct 12, 7:53 pm, Erol Fornoles <[email protected]> wrote: > That's not how :through works. has_many :through associations are only > used when there is an intermediate model between them. > > What you can do is: > > has_many :medias, :class_name => "Media" # Will return all media, > including paintings and videos > has_many :paintings, :class_name => "Painting" > has_many :videos, :class_name => "Video" > > HTH > > On Oct 12, 7:11 pm, Christian Fazzini <[email protected]> > wrote: > > > Artist.first.medias returns all medias. Media is an STI. Media can be > > video or painting. > > > How do I return all paintings of an artist? Only paintings, not > > videos? > > > In my Artist model, I tried putting: > > > has_many :paintings, :through => :medias > > > In console, I do: > > > Artist.first.paintings.all > > > And I get: > > > ActiveRecord::HasManyThroughSourceAssociationNotFoundError: Could > > not find the source association(s) :painting or :paintings in model > > Media. Try 'has_many :paintings, :through => :medias, :source => > > <name>'. Is it one of :artist? > > -- 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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

