我在rails中使用money gem来执行一些货币转换。
我想动态设置转换率,以便我可以在脚本中使用它。
currency_code = ":SEK"
conversion_rate = @bank.get_rate(:USD, currency_code).to_f
我收到此错误:
Money::Currency::UnknownCurrency: Unknown currency ':sek'
这意味着它将变量转换为小写。如果我明确提出:SEK
我没有任何问题。
我甚至试过玩这个:
cb = "SEK"
conversion_rate = @bank.get_rate(:USD, ":#{cb}").to_f
和
cc = ":SEK"
conversion_rate = @bank.get_rate(:USD, cc.upcase).to_f
但是我得到同样的错误。
有什么想法吗?
答案 0 :(得分:1)
bnussey,
我看起来像是以字符串而不是符号传递您的货币。试试这个:
currency_code = :SEK
如果需要在数据库中存储字符串,Ruby可以轻松地将其转换为符号。
currency = "SEK"
currency_code = currency.to_sym
=> :SEK