NameError未初始化的常量ApiAiRuby

时间:2017-11-20 21:15:19

标签: ruby-on-rails elastic-beanstalk api-ai

在Beanstalk上部署的Ruby on Rails应用程序给出了API AI / Dialog Flow Gem的错误:

NameError
uninitialized constant MessengerHireController::ApiAiRuby

我的sidekiq工作者中有以下代码:

dialog_client = ApiAiRuby::Client.new(
  :client_access_token => access_token, 
  :api_session_id => @freelancer.user.id
)
response = dialog_client.text_request msg

我已经在我的常规控制器中测试过它并没有用。

  1. 我把它从工人和标准控制器中移出。
  2. 它适用于我的本地但不适用于beanstalk
  3. 我在beanstalk上运行rails console并尝试了相同的代码,它给了我错误。我用gem install 'api-ai-ruby'手动安装了gem,之后它停止在控制台上给我NameError,但仍然无法生产。
  4. 我使用gem list进行了检查,并在生产时安装了gem。
  5. 我最大的假设是应用程序无法找到已安装的gem。

    提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您需要将gem 'api-ai-ruby'添加到gemfile,然后运行bundle install,否则Rails不会加载它。 见What is the use of Gemfile in rails?