3

从某种意义上说,这是一个奇怪的问题,我认为没有答案,但它就在这里。

我正在寻找gem可以让我从复数词中获得词根的词。

categories => category
people     => person
apples     => apple

诀窍是我在 ruby​​ 中而不是在 ROR 中需要它,因此解决方案应该独立于ActiveRecord可能内置了这种机制的解决方案。谢谢。还有一篇关于这个主题的论文,我发现http://www.csse.monash.edu.au/~damian/papers/HTML/Plurals.html/以防有人有兴趣构建 gem :)

4

3 回答 3

3

此行为在ActiveSupport中定义,您可以将其单独包含在内,而无需完全依赖 Rails。

>> require 'rubygems'
=> true
>> require 'active_support/core_ext/string/inflections'
=> true
>> "categories".singularize
=> "category"
于 2012-08-16T13:00:33.363 回答
0

你总是可以只安装 active_support gem,只需要变形器,这样你就不会加载所有的轨道。导轨的许多部分可以独立使用。

$ irb
1.9.3-p194 :001 > require 'active_support/inflector'
=> true 
1.9.3-p194 :002 > ActiveSupport::Inflector.singularize('inflections')
=> "inflection" 
于 2012-08-16T13:03:36.840 回答
0

您可以只要求 的变形ActiveSupport,而忽略其余的轨道,如下所示:

require 'active_support/core_ext/string/inflections'

如果这对您不起作用,请查看inflections gem。

于 2012-08-16T13:01:29.057 回答