【问题标题】:Money gem converting variable of currency code to lower caseMoney gem 将货币代码的变量转换为小写
【发布时间】:2015-09-13 19:48:28
【问题描述】:

我正在使用 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

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

有什么想法吗?

【问题讨论】:

  • 为什么不能使用 ||货币代码 = :SEK ||我相信传递字符串而不是符号的事实是问题的根源。
  • 哇,效果很好!傻我..谢谢伙计!你想让它成为一个答案,我会接受吗?
  • 嘿@JeffPrice 这个值如何存储在列中?或者你知道我如何根据 : + SEK 动态创建它
  • 没关系..to_sym!

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


【解决方案1】:

布努西,

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

currency_code = :SEK

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

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

【讨论】:

    猜你喜欢
    • 2015-07-20
    • 2014-08-28
    • 1970-01-01
    • 2016-12-07
    • 2014-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多