2011-09-16 6 views
1

ruby​​-unitsをレール3プロジェクトで使用したいのですが、それはactivesupportと競合しているようです。ruby​​-unitsを回避することはアクテブサポートと矛盾します

activesupportとruby-unitsの両方がStringのto()メソッドを作成するように見えます。何らかの理由で、ruby-unitsが勝っているので、to()がレールの内側にあるときはいつでも、エラーを投げます。 (ユニットが認識されない)

これに対処する最善の方法を知りたい。私はruby-unitからto()メソッドを使うことに気をつけません。ただ、それがレールに干渉しないようにしたいだけです。別のアプローチがあるなら、私はフォークすることを避けたいと思います。

アップrails consoleオープン(私はルビー1.9.2とレール3によ)あなたのgemfileに

gem 'ruby-units' 

を追加し、ruby-なければapples.to(1)

を試してみてください。私の問題を表示するには

単位:

"ap" 

件:

"'apples' Unit not recognized" 
+0

申し訳ありませんが、問題を再現できませんでした。私はrails 3.1とruby-units 1.3.1を使っていますが、Stringを使うときはいつでもActiveSupportバージョンを使います。あなたの説明に欠けているその他の詳細は? –

+0

gemfile内の順番は、ロードされている順番に関係しますか? – spike

答えて

2

これに対する答えはGemfileでレールのライブラリの前にルビー・ユニットライブラリを必要とすることです:

gem 'ruby-units' 
gem 'rails' 

明らかにあなたがして(.TO使用することはできません)への文字列のruby-units変換にアクセスします。

関連する問題