2010-12-27 5 views
10

Ruby/Railsで整定数を処理する方法を探しています。 "st"、 "nd"、 "rd"、 "th"の接尾辞を整数に変換します。 Ruby on Railsは "ordinalize"メソッドでFixNumを拡張していましたが、その機能はバージョン3では廃止されたようです。Ruby/Railsでの整数整理

私は現在、古いRailsメソッドのソースを使用しています。これは、ほとんどのスクリプティング言語/ Webフレームワークに組み込まれていた機能性のようですが、Railsの背後にいる人々が機能を非難する理由があったようです。

お知らせください!

+1

私は、この機能は廃止されているかはわかりません。あなたが見ているエラーをそれを引き起こすコードと共に投稿できますか? –

答えて

18

希望の方法はまだordinalizeです。

Active_Supportは、より詳細な粒度を提供するために少しリファクタリングされました。一度にすべてをロードするのではなく、必要なものに応じて小さなチャンクを選択することができます。

あなたはrequire 'active_support/all'を使用してActive_Supportのすべてを読み込む、または require 'active_support/core_ext/integer/inflections'を使用してそれを打破することができ、次のいずれか

>> require 'active_support/core_ext/integer/inflections' #=> true 
>> 1.ordinalize #=> "1st" 
+0

ありがとう!それはすべてを説明します。 – Ashoat

+1

まあ、すべてではありませんが、少なくともこの事はあります。 :-) –

+1

名前空間にすべてをインポートしたくない場合は、ActiveSupport :: Inflector(number) – Kevin

0

最近(私が知っていた)コアクラスを変更しない傾向がありました。 Rails-Coreのメーリングリストでは、これに対してより良い答えが得られるかもしれません。

フィックスナムエクステンションから機能がInflectorに移動したようです。他の誰かがこれを確認できることを願っています。