1

我喜欢pluralizeRails 中的方法。我希望小数有类似的机制,它们可以更易于人类阅读。例如,这将是理想的:

> include ActionView::Helpers::TextHelper
> pluralize(2.0, 'donut')
 => "2.0 donuts" 
> pluralize_and_humanize(2.0, 'donut')
 => "2 donuts"
> pluralize_and_humanize(2.5, 'donut')
 => "2 and a half donuts"
> pluralize_and_humanize(1.0, 'donut')
 => "1 donut"
> pluralize_and_humanize(0.5, 'donut')
 => "half a donut"
> pluralize_and_humanize(0.75, 'donut')
 => "3/4 of a donut"

有什么内置在rails中的吗?我可以使用任何宝石吗?

4

1 回答 1

1

事实上,我想我有东西要给你。

在您的项目中设置rails fractions 插件。然后,编写自己的助手,如下所示:(伪代码)

def pluralize_and_humanize(number, string)
  split number into integer and fractional part -> whole, fraction

  convert fraction to [nice_fraction][2] if there is a fractional component

  output whole number + nice_fraction + pluralized string
end

现在,我不会帮助您输出“半”或“四分之一”,但我认为“2 1/2”至少会比 2.5 好。

于 2013-09-11T21:38:28.843 回答