Rails文章助手 - "a"或"an"

Wil*_*Ayd 37 ruby ruby-on-rails helpers ruby-on-rails-3

有没有人知道Rails Helper可以自动将相应的文章添加到给定的字符串中?例如,如果我将"apple"传递给该函数,它将变成"一个苹果",而如果我要发送"香蕉"它将返回"香蕉"

我已经检查了Rails TextHelper模块但找不到任何东西.如果这是重复的道歉,但无可否认,这是一个难以找到的答案......

con*_*t47 38

没有我知道但是为这个问题写一个帮手似乎很简单?在我的头顶

def indefinite_articlerize(params_word)
    %w(a e i o u).include?(params_word[0].downcase) ? "an #{params_word}" : "a #{params_word}"
end
Run Code Online (Sandbox Code Playgroud)

希望有所帮助

编辑1:还发现这个帖子有一个补丁,可以帮助你防止这更多https://rails.lighthouseapp.com/projects/8994/tickets/2566-add-aan-inflector-indefinitize

  • 对于以静音辅音开头的外来词不适用. (4认同)
  • 英语中的规则不是"以元音开头",而是"以元音开头",因此这种方法在100%的时间内都不起作用.失败的例子:"一小时","光荣","美国大使"等. (4认同)
  • 对......但这会让你大部分都在那里,你可以在遇到它们时添加边缘情况......直到找到更好用的东西......无论如何我就是这样做的. (3认同)

ger*_*itz 13

现在有一个宝石:indefinite_article.

  • Dickey的第十一定律:掌握任何足够成熟和精心设计的软件语言,更少依赖于语言本身的神秘知识,而不是在必要时增强周围生态系统. (2认同)