1

我正在创建一个片段站点,人们可以在其中对片段进行评分,就像对 SO 的投票一样。目前,当一个片段有超过 999 个赞时,它看起来像这个杯子:( 来源:picocool.com马克杯

所以我想要的是做一个 1K、1M 等......像这样的荣誉:

-----
|999|
-----

**user does +1**
-----
|1K |
-----

**one million kudos**
-----
|1M |
-----

数十亿、数万亿、千万亿、千亿等也是如此……:'D

Ruby 是否为此提供了方法,如果没有,我该如何自己编写它们?谢谢。

4

3 回答 3

1

我不认为Ruby有这样的东西。Rails 确实有一组数字助手,但不包括这个特定的功能。但是,如果您查看“数字到人的大小”的源代码,您应该能够轻松滚动自己的代码。

于 2010-06-19T18:36:04.363 回答
1

好像已经实现了。我建议你看看这个补丁:

https://rails.lighthouseapp.com/projects/8994/tickets/4239-patch-improvements-in-number_helperrb

于 2010-06-20T03:10:36.700 回答
0

一种可能的解决方案是创建一个应用程序范围的帮助程序(app/helpers 中的 application_helper.rb)。您可以通过使用嵌套的 if 来扩展它,但我认为您明白了。我并不是说这是这样做的方法,但它胜过有一些工作,而不是什么都没有。

def kudoify(kudos)

if kudos > 1000 && kudos < 1000000 then 
mykudos_prefix = (kudos / 1000 )
mykudos_suffix = (kudos % 1000 )
mykudos = mykudos_prefix.to_s + "K" + mykudos_suffix.to_s
end

return mykudos
end
于 2010-06-19T22:13:14.867 回答