Rails:LoadError - 无法加载此类文件(需要gem)

时间:2014-08-06 12:26:19

标签: ruby-on-rails gem

我将active_campaign gem导入到这样的控制器中(已包含在我的Gemfile中并运行bundle install):

require 'active_campaign'

class Website::MyController < ApplicationController
  def create
      client = ::ActiveCampaign::Client.new("url","api-key")
      # ...
  end
end

我收到以下错误:

  

网站中的LoadError :: MyController #create   无法加载此类文件 - active_campaign

删除require 'active_campaign'

删除需求行后,我现在得到:

  

Website :: MyController中的NameError #infate uninitialized constant ActiveCampaign

我怎样才能让它发挥作用?

1 个答案:

答案 0 :(得分:2)

它是rails控制器,所以你没有明确的require任何宝石。 Bundler做到了。 也许你无法访问ActiveCampaign常量,因为你在启动服务器后添加了gem(所以在捆绑器需要所有宝石并让你访问他们的类之后)。

确保执行以下步骤:

  
      
  1. 杀死服务器
  2.   
  3. 运行bundle updatebundle install
  4.   
  5. 再次运行服务器
  6.   

现在,bundler应该允许您访问rails控制器中的所有active_campaign