Tive um problema hoje em que precisava obter to_sql em alguma associação e estava obtendo um resultado estranho:
1.9.3-p392 :001 > Host.first.entries.to_sql
=> "SELECT "entries"".* FROM ""entries"" WHERE ""entries"".""host_id"" = $1""
A maneira do Rails 4 de conseguir isso é:
1.9.3-p392 :002 > Host.connection.unprepared_statement{Host.first.entries.to_sql}
=> ""SELECT ""entries"".* FROM ""entries"" WHERE ""entries"".""host_id"" = 4""
Caso você não saiba se precisa ou não passar sua relação por #unprepared_statement