NameError:未初始化的常量String :: Stemmer

时间:2014-01-27 00:32:02

标签: ruby ruby-on-rails-3 porter-stemmer

我正在使用stemmer gem来制作ruby来阻止某些词语。我有一个类naivebayes.rb或多或少如下:

require "stemmer"
.....

class Naivebayes
    include Stemmable

    def clean_word(word)
       ..
       ...
       stem(word)

    end

end

我省略了一些代码。当我在我的rails应用程序之外运行它时,相同的代码运行完全正常:ruby naivebayes.rb。但是,当我在rails控制台或控制器中的rails应用程序中运行它时,我收到以下错误:

**NameError: uninitialized constant String::Stemmer**

这让我感到困惑!还没有找到与此类似的其他问题,所以我问是否有人知道如何解决这个或我错过了什么。

谢谢!

1 个答案:

答案 0 :(得分:0)

fast-stemmer(https://github.com/romanbsd/fast-stemmer)运行正常。将gem 'fast-stemmer'添加到您的Gemfile中。如果你有Gemfile,请从Gemfile中删除gem 'stemmer',因为它与快速限制器冲突。