格式化复数

时间:2009-02-03 16:26:04

标签: ruby-on-rails pluralize

我有一个案例,我需要使用复数来正确拼写一些东西。但是,我需要像这样呈现html:

<span>1</span> thing

,或者

<span>3</span> things

我可以写一个帮助方法,但我只是确保方框中没有东西可以做到这一点。

2 个答案:

答案 0 :(得分:6)

这使用Rails类TextHelper,如果需要,使用Inflector进行复数化。

def pluralize_with_html(count, word)
  "<span>#{count}</span> #{TextHelper.pluralize(count, word)}"
end

答案 1 :(得分:4)

在此期间,我创建了这个帮助方法,因为它看起来没有我想要的东西:

def pluralize_word(count, singular, plural = nil)
  ((count == 1 || count == '1') ? singular : (plural || singular.pluralize))
end

它与pluralize方法基本相同,只是它从前面删除了数字。这允许我这样做(haml):

%span.label= things.size.to_s
%description= pluralize_word(things.size, 'thing')