2012-07-13 36 views
1

我正在嘗試爲rails項目使用「finance」gem。我通過編輯我的Gemfile並使用「軟件包安裝」成功安裝了gem。我已經包括行:在rails項目中使用融資寶石

application_controller.rb

include Finance 

這使我進入創業板融資功能的控制器。但是,我的數字還在繼續。如果你去下面的鏈接,你可以看到如何創建一個速率的對象一個簡單的例子,並用它來尋找攤銷:

http://rubydoc.info/gems/finance/1.1.2/frames

但是,在一個控制器,當我嘗試設置率對象使用提供的代碼的變量:

@rate = Rate.new(0.0425, :apr, :duration => 30.years) 

...這將引發錯誤「錯誤的參數類型的Flt :: DecNum(預期標數字)」

這是怎麼回事是值「0.0425」我正在進入費率顯然是一個浮動/德cNum,但它期待一個Numeric對象。如果我使用下面的代碼投數數字類型,錯誤消失了,但創造的速度對象不是真的正常工作:

@rate = Rate.new(0.0425.to_c, :apr, :duration => 30.years) 

所有的一切我只是希望能夠使用財務寶石在控制器和/或助手,但似乎有一些錯誤產生的,因爲我傳遞的數字是錯誤的類型。任何人都可以提供幫助嗎?

回答

2

由於這個問題沒有得到關注,我想發佈我的解決方案,以防其他人遇到這種情況。

所以,我最終沒有使用這個寶石,只是自己寫這些方法。原因是這個寶石是專門爲Ruby編寫的,而不是Rails。其他用戶像我一樣得到了同樣的錯誤,唯一的解決方法就是在Rails站點上使用它來破解gem中的實際代碼。

所以,至少現在的解決方案是不使用這個gem for Rails,而僅僅是純粹的Ruby。作者我相信這是明確的,但我忽略了一些。

謝謝!

+0

實際上最近在github頁面上有關於這個問題的一些討論。所以,對於那些使用Rails的人來說可能是一個修復:https://github.com/wkranec/finance/issues/9#issuecomment-9894030 – FireDragon 2012-10-30 18:51:36