Is it supposed to recognize the symbol? Maybe you're not setting
Money.assume_from_symbol = true
From the docs examples:
# Assumptive Currencies
Money.assume_from_symbol = true
Money.parse("$100") == Money.new(10000, "USD")
Money.parse("€100") == Money.new(10000, "EUR")
Money.parse("£100") == Money.new(10000, "GBP")
(Maybe it works with String.to_money
too)