货币宝石将货币代码变量转换为小写

时间:2015-06-26 18:53:41

标签: ruby-on-rails ruby money-rails

我在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

但是我得到同样的错误。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

bnussey,

我看起来像是以字符串而不是符号传递您的货币。试试这个:

currency_code = :SEK

如果需要在数据库中存储字符串,Ruby可以轻松地将其转换为符号。

currency = "SEK"
currency_code = currency.to_sym
=> :SEK 
相关问题