How to get a join query to work?

Award.all(:joins => "INNER JOIN overall_rankings ON (overall_rankings.poem_id = awards.poem_id)") gets the wrong award.overall_ranking on heroku postgres

Poem   has_many :awards   has_one :overall_ranking

Award   belongs_to :poem   has_one :overall_ranking, :foreign_key => :poem_id

OverallRanking   belongs_to :poem

Jesse Crockett wrote:

Award.all(:joins => "INNER JOIN overall_rankings ON (overall_rankings.poem_id = awards.poem_id)") gets the wrong award.overall_ranking on heroku postgres

Poem   has_many :awards   has_one :overall_ranking

Award   belongs_to :poem   has_one :overall_ranking, :foreign_key => :poem_id

OverallRanking   belongs_to :poem

# Solution

Award   has_one :overall_ranking, :foreign_key => :poem_id, :primary_key => :poem_id

Award.all(:include => :overall_ranking)