Целочисленная ординализация в Ruby / Rails - PullRequest
12 голосов
/ 27 декабря 2010

Я ищу способ обработки целочисленной ординализации в Ruby / Rails, т.е. Суффиксы "st", "nd", "rd" и "th" к целым числам. Ruby on Rails использовался для расширения FixNum методом "ordinalize", но эта функциональность устарела в версии 3.

В настоящее время я просто использую исходный код для старого метода Rails, и это нормально ... но это похоже на функциональность, которую встроили бы большинство языков сценариев / веб-фреймворки, и я чувствую, что люди из Rails должны были причина для отказа от функциональности (возможно, теперь она доступна в собственно Ruby?).

Пожалуйста, сообщите!

Ответы [ 2 ]

19 голосов
/ 27 декабря 2010

Метод, который вам нужен, по-прежнему ordinalize .

Active_Support был подвергнут рефакторингу для лучшей детализации.Вместо того, чтобы загружать все сразу, вы можете выбирать меньшие куски в зависимости от того, что вам нужно.

Вы можете либо загрузить все в Active_Support, используя require 'active_support/all', либо разбить его, используя require 'active_support/core_ext/integer/inflections':

>> require 'active_support/core_ext/integer/inflections' #=> true
>> 1.ordinalize #=> "1st"
0 голосов
/ 27 декабря 2010

В последнее время (последнее, что я знал) была тенденция не изменять основные классы. Список рассылки Rails-Core может иметь лучший ответ на этот вопрос.

Похоже, что эта функциональность была перемещена в Inflector из расширения Fixnum, что имеет смысл. Надеюсь, кто-то еще может подтвердить это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...