Rails named_scopes com junções

Eu estou tentando criar um named_scope que usa uma junção, mas embora o SQL gerado parece certo, o resultado é lixo. Por exemplo:

class Clip < ActiveRecord::Base      
  named_scope :visible, {
    :joins => "INNER JOIN series ON series.id = clips.owner_id INNER JOIN shows on shows.id = series.show_id", 
    :conditions=>"shows.visible = 1 AND clips.owner_type = 'Series' "
  }

(Um Clipe pertence a uma Série, uma Série pertence a um Show, um Show pode ser visível ou invisível).

Clip.all faz:

SELECT * FROM `clips` 

Clip.visible.all faz:

SELECT * FROM `clips` INNER JOIN series ON series.id = clips.owner_id INNER JOIN shows on shows.id = series.show_id WHERE (shows.visible = 1 AND clips.owner_type = 'Series' ) 

Isso parece bem. Mas a matriz resultante de modelos Clip inclui um clipe com um ID que não está no banco de dados - em vez disso, ele escolheu uma ID de show. Onde eu estou errando?

questionAnswers(2)

yourAnswerToTheQuestion