【发布时间】:2014-09-29 09:18:51
【问题描述】:
我将active_campaign gem 导入到这样的控制器中(已经包含在我的Gemfile 中并运行bundle install):
require 'active_campaign'
class Website::MyController < ApplicationController
def create
client = ::ActiveCampaign::Client.new("url","api-key")
# ...
end
end
我收到以下错误:
网站加载错误::MyController#create 无法加载此类文件 -- active_campaign
删除require 'active_campaign' 行
删除 require 行后,我现在得到:
NameError in Website::MyController#create uninitialized constant ActiveCampaign
我怎样才能让它工作?
【问题讨论】:
-
我认为你有错字而不是
::ActiveCampaign::Client.new("url","api-key")使用ActiveCampaign::Client.new("url","api-key") -
检查您的加载路径(例如输出 $LOAD_PATH rails 控制台)您的 gem 需要位于加载路径的任何目录中,否则如果您不使用绝对路径,require 将失败。
-
您不必在控制器中明确要求任何 gem。你试过
bundle update吗? -
@kevdev 我只看到一个巨大的目录列表。我如何判断它是否位于这些目录之一中? (使用 Ubuntu 14.04)
-
@FilipBartuzi 刚刚跑了
bundle update。没有任何改变(同样的错误)
标签: ruby-on-rails gem