2014-01-27 4 views
0

Я использую камень-камень для рубинов, чтобы вырвать несколько слов. У меня есть класс naivebayes.rb более или менее, как следующее:NameError: неинициализированная константа String :: Stemmer

require "stemmer" 
..... 

class Naivebayes 
    include Stemmable 

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

    end 

end 

я опустил часть кода. Тот же код отлично работает, когда я запускаю его за пределами моего приложения rails: ruby ​​naivebayes.rb. Однако, когда я запускаю его в рельсах консоли или в моих рельсах приложение в контроллере я получил следующее сообщение об ошибке:

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

Это озадачивает меня за что-нибудь! Не нашли другую проблему, подобную этому, поэтому я спрашиваю, есть ли у кого-нибудь идеи, как решить эту проблему или что мне не хватает.

Спасибо!

+0

Вы добавили: 'gem 'stemmer'' в ваш' Gemfile' ??? – bjhaid

+0

да, у меня это в моем Gemfile! Он загружается как stemmer 1.0.1 – bytebiscuit

+0

, что библиотека была создана в 2005 году, вероятно, вам следует использовать что-то более новое – bjhaid

ответ

0

fast-stemmer (https://github.com/romanbsd/fast-stemmer) прекрасно подходит. Добавьте gem 'fast-stemmer' в свой Gemfile. Удалите из Gemfile, если у вас есть это, поскольку оно конфликтует с быстрым стеблем.

Смежные вопросы