Ruby / Rails中的整数序列化

我正在寻找一种方法来处理Ruby / Rails中的整数序数化,即。 “st”,“nd”,“rd”和“th”后缀为整数。 Ruby on Rails用于使用“ordinalize”方法扩展FixNum,但该function似乎已在版本3中弃用。

我目前只是使用旧Rails方法的源代码,这很好……但这似乎是大多数脚本语言/ Web框架内置的function,我觉得Rails背后的人必须有一个理由弃用function(也许它现在可以在Ruby中使用了吗?)。

请指教!

你想要的方法仍然是ordinalize 。

Active_Support被重构了一点以提供更好的粒度。 您可以根据需要选择较小的块,而不是一次加载所有内容。

您可以使用require’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" 

最近(最后我知道)有一种趋势是不修改核心类。 Rails-Core邮件列表可能有更好的答案。

看起来这个function从Fixnum扩展转移到Inflector ,这是有道理的。 希望其他人可以证实这一点。