Whois gem не работает в рельсах

class DomaincheckerController < ApplicationController
  def index
  end
  def store
    r =Whois.whois(secure_params['domain'])
    render :text => "#{r}"
  end

  private
  def secure_params
    params.require(:whois).permit(:domain)
  end


end

Это мой контроллер domainchecker. Метод index отображает форму. После отправки формы она переходит к методу хранения. Здесь я пытаюсь использовать драгоценный камень whois. Я установил whois gem, запустив gem install whois. Но я получаю эту ошибку.

uninitialized constant DomaincheckerController::Whois 

person Raaz    schedule 15.10.2015    source источник
comment
Стандартный вопрос в таких случаях: перезагружали ли вы сервер после установки гема?   -  person BroiSatse    schedule 15.10.2015
comment
@BroiSatse да, я перезапустил нигинкс, а также единорог   -  person Raaz    schedule 15.10.2015
comment
Как ты перезапустил единорога? УСР2? Вам нужно сделать жесткий перезапуск. Не нужно перезагружать nginx.   -  person BroiSatse    schedule 15.10.2015
comment
@BroiSatse, я думал, что перезапустил единорога. Я сделал service unicorn_fuitter stop, а затем запустил service unicorn_fuitter start. Но даже когда я сделал service unicorn_fuitter stop, мое приложение все еще работало.   -  person Raaz    schedule 15.10.2015
comment
Ваш сценарий etc может быть неправильным. Попробуйте перезапустить его вручную с помощью kill --QUIT   -  person BroiSatse    schedule 15.10.2015
comment
@BroiSatse kill --ВЫЙТИ, выдало мне ошибку -bash: kill: -QUIT: invalid signal specification   -  person Raaz    schedule 15.10.2015
comment
Как ты устанавливал гем?   -  person Simone Carletti    schedule 15.10.2015
comment
@RajShakya - Ты дал ему pid своего сервиса единорогов?   -  person BroiSatse    schedule 15.10.2015
comment
хорошо, я сделал жесткий перезапуск, и все равно он показывает мне ошибку uninitialized constant DomaincheckerController::Whois   -  person Raaz    schedule 15.10.2015
comment
@SimoneCarletti, я сделал gem install whois   -  person Raaz    schedule 15.10.2015


Ответы (1)


Проблема в том, что вы установили гем напрямую, а не с помощью bundler, поэтому приложение Rails не может найти зависимость.

Чтобы установить гем в проект Rails, вам нужно отредактировать файл Gemfile и добавить туда гем. После добавления запустите

$ bundle

для установки зависимости. Ознакомьтесь с документацией о Gemfile.

person Simone Carletti    schedule 15.10.2015