Money gem 将货币代码变量转换为小写

Money gem converting variable of currency code to lower case

我正在使用 rails 中的钱 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

但是我得到了同样的错误。

有什么想法吗?

布努西,

我看起来像是将货币作为字符串而不是符号传递。试试这个:

currency_code = :SEK

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

currency = "SEK"
currency_code = currency.to_sym
=> :SEK