Ik denk dat wat je eigenlijk zoekt dit is:
has_many :posts, :finder_sql =>
proc {"SELECT p.* from posts p join topics t on p.topic_id = t.id where t.id=#{id}"}
Vanaf Rails 3.1 moet je een proc gebruiken in plaats van een string om velden als #{id}
te gebruiken .
Bekijk het probleem hier:https://github.com/rails/rails/issues/3920