我正在尝试为一个rails项目使用“金融”宝石。我已经通过编辑我的Gemfile并使用"bundle install“成功地安装了gem。我已经包含了这一行:
application_controller.rb
include Finance这允许我访问控制器中的金融gem函数。但是,我的数据出了点问题。如果转到以下链接,您可以看到一个简单的示例,说明如何创建Rate对象并使用它来查找摊销:
http://rubydoc.info/gems/finance/1.1.2/frames
但是,在控制器中,当我尝试使用提供的代码将Rate对象设置为变量时:
@rate = Rate.new(0.0425, :apr, :duration => 30.years)...this抛出错误“错误的参数类型Flt::DecNum (期望的标量数字)”
我传递给Rate的值"0.0425“显然是一个Float/DecNum,但它需要一个Numeric对象。如果我使用下面的代码将数字转换为Numeric类型,错误就会消失,但创建的Rate对象并不能真正正常工作:
@rate = Rate.new(0.0425.to_c, :apr, :duration => 30.years)总而言之,我只是希望能够在控制器和/或帮助器中使用金融gem,但似乎生成了一些错误,因为我传递的数字类型错误。有人能帮上忙吗?
发布于 2012-09-27 02:03:14
由于这个问题没有得到关注,我想发布我的解决方案,以防其他人遇到这个问题。
因此,我最终没有使用这个gem,而是自己编写方法。原因是这个gem是专门为Ruby编写的,而不是为Rails编写的。其他用户也遇到了与我相同的错误,如果您在Rails站点上使用gem,那么唯一的解决方法就是破解gem中的实际代码。
因此,至少现在的解决方案是不将这个gem用于Rails,仅用于纯Ruby。我相信作者很清楚地陈述了这一点,但我忽略了一些事情。
谢谢!
https://stackoverflow.com/questions/11479236
复制相似问题