未初始化的常量请求(NameError)

uninitialized constant Request (NameError)

我收到此错误:/LiveToChallenge/config/initializers/gibbon.rb:1:in '<top (required)>': uninitialized constant Gibbon::Request (NameError) 当我尝试启动服务器时 rails server

app/config/initializers/gibbon.rb

require 'gibbon'
Gibbon::Request.api_key = "24e4a2233cd34debb76ed083dc3f8b5379-us8"
Gibbon::Request.timeout = 15

我按照 gibbon gem 说明操作,这看起来很简单。也许除了 gem install gibbon 和将 api_key 添加到初始化程序之外,我还遗漏了一些东西?

gem 安装为 gibbon (2.2.2, 2.2.1, 1.2.1)

作为附加措施,我将 gem gibbon 放入 gem 文件中,并 运行 bundle install

这个问题是 我一直在努力解决的问题的一部分。

您应该将 gem 添加到 rails Gemfile。然后 rails 会为您处理 require 'gibbon'

编辑:gem install gibbon 只会在您的系统上安装 gem。 Rails 除非您将它添加到 Gemfile 中,否则不会知道它是必需的。

我在 gibbon 2.0 版本中遇到了同样的问题,因为它更新了一些初始化方法然后我尝试了以前的版本并且它有效但首先你应该这样尝试:

gibbon = Gibbon::Request.new(api_key: "MailChimp_API_Key")
gibbon.timeout = 10

如果在 app/config/initializers/gibbon.rb 中没有成功,那么您可以尝试在使用 gibbon 检索或添加列表内容进行测试之前直接在控制器中执行此操作。