2011-09-16 14 views
1

我想在rails 3項目中使用ruby-units,但好像它與activesupport衝突。解決ruby-units與有效支持的衝突

在我看來,像activesupport和ruby-units都爲String創建一個to()方法。出於某種原因,ruby-units會贏,所以每當()被調用時,它都會引發錯誤。 (單元未被識別)

我想知道處理這個問題的最佳方法。我不關心從ruby-units中使用to()方法,我只是不希望它干擾rails。如果還有其他方法,我想避免分叉。

要看到我的問題:

添加到您的Gemfile

gem 'ruby-units' 

打開了rails console(我是用Ruby 1.9.2軌道3),並嘗試apples.to(1)

沒有ruby-單位:

"ap" 

與:

"'apples' Unit not recognized" 
+0

對不起,但無法重現您的問題。我使用的是rails 3.1和ruby-1.3.1,但每當我使用String時,它都使用ActiveSupport版本。您的描述中缺少的任何其他細節? –

+0

gemfile中的順序對於它們的加載順序是否重要? – spike

回答

2

這個問題的答案是,要求鋼軌庫中的Gemfile前紅寶石單位庫:)對字符串

gem 'ruby-units' 
gem 'rails' 

顯然,你那麼將無法使用。要(以訪問紅寶石單位轉換。