【发布时间】:2014-09-23 17:44:21
【问题描述】:
我知道您可以使用复数功能在 Rails 中将单词复数。
pluralize (3, 'cat')
=> 3 cats
但我想做的是复数一个需要复数多个单词的句子。
There are <%= Cat.count %> cats
问题在于,如果只有 1 只猫。它会返回
There are 1 cats
这在语法上没有意义。
应该说
There are x cats (if x is not 1)
There is 1 cat (if there is only 1)
问题是,我不知道如何复数,因为这里有两个参数(is 和 cat)。
任何帮助将不胜感激。
也许是这样的?
if Cat.count == 1
puts "There is 1 cat"
else
puts "There are #{Cat.count} cats"
end
【问题讨论】:
-
一个简单的
if-else语句就可以解决问题。 -
写一个方法来解析你的句子并做正确的事,如果你需要它是通用的,或者基于计数构建句子。
-
有问题的值是
Cat.count还是cat.count?哪个? -
我认为这个问题在这里解决得更好:stackoverflow.com/questions/1686226
标签: ruby-on-rails ruby pluralize