Учитывая этот код:
has_many :foos, :finder_sql = <<-SQL
select * from foos where bars = #{id}
SQL
#{id}
часть преждевременно интерполируется.
Как я выхожу из него?
Положите отдельные цитаты вокруг разделителя:
has_many :foos, :finder_sql = <<-'SQL'
select * from foos where bars = #{id}
SQL