有没有帮助来避免这种代码?
= @leads.length == 1 ? 'is' : 'are'
我知道多元化,但在这种情况下并没有帮助.我知道写一个帮手是微不足道的,我想知道Rails API中有没有被忽略的东西.
谢谢,
-Tim
解决方法
正如
t6d所说你需要添加的是/是Rails的拐角.只是从td6的代码,但您需要添加ActiveSupport命名空间:
ActiveSupport::Inflector.inflections do |inflection| inflection.irregular "is","are" end
现在,Rails已经建立的帮助器是多元化的,但是在一个看来,不会做你想要的.
例如:
pluralize(@leads.length,'is')
输出(2针)
2 are
对于你想要的,你需要使自己的帮助者将复数单词,但不输出计数.所以如果你把它放在当前的轨道上,
def pluralize_no_count(count,singular,plural = nil) ((count == 1 || count == '1') ? singular : (plural || singular.pluralize)) end