Jeg tror, at det, du rent faktisk leder efter, er dette:
has_many :posts, :finder_sql =>
proc {"SELECT p.* from posts p join topics t on p.topic_id = t.id where t.id=#{id}"}
Fra Rails 3.1 skal du bruge en proc i stedet for en streng for at bruge felter som #{id}
.
Se problemet her:https://github.com/rails/rails/issues/3920