Rails - HABTM Relationship -- How Can I Find A Record Based On An Attribute Of The Associated Model
Posted
by
ChrisWesAllen
on Stack Overflow
See other posts from Stack Overflow
or by ChrisWesAllen
Published on 2011-01-14T00:47:59Z
Indexed on
2011/01/14
0:53 UTC
Read the original article
Hit count: 159
I have setup this HABTM relationship in the past and its worked before....Now it isnt and I'm at my wits end trying to figure out whats wrong. I've looking through the rails guides all day and cant seem to figure out what I'm doing wrong, so help would really be appreciated.
I have 2 models connected through a join model and I'm trying to find records based an attribute of the associated model.
Event.rb
has_and_belongs_to_many :interests
Interest.rb
has_and_belongs_to_many :events
and a join table migration that was created like
create_table 'events_interests', :id => false do |t|
t.column :event_id, :integer
t.column :interest_id, :integer
end
I tried
@events = Event.all(:include => :interest, :conditions => [" interest.id = ?", 4 ] )
But got the error "Association named 'interest' was not found; perhaps you misspelled it?"... which I didnt of course
I tried
@events = Event.interests.find(:all, :conditions => [" interest.id = ?", 4 ] )
but got the error "undefined method `interests' for #Class:0x4383348"
How can I find the Events that have an interest id of 4....I'm definitely going bald from this lol
© Stack Overflow or respective owner