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