Tôi nghĩ những gì bạn thực sự đang tìm kiếm là:
has_many :posts, :finder_sql =>
proc {"SELECT p.* from posts p join topics t on p.topic_id = t.id where t.id=#{id}"}
Kể từ Rails 3.1, bạn phải sử dụng một proc thay vì một chuỗi để sử dụng các trường như #{id}
.
Xem sự cố tại đây: https://github.com/rails/rails/issues/3920