0

我正在尝试设置一个初始化程序 fb 文件,但在重新启动 rails 应用程序后我一直收到错误消息。这是我的初始化文件 mail_chimp.rb

rb文件中的代码

MailChimp.configure do |config|
  config.api_key = 'blabla'
end

重新启动rails后出现错误。

myProject/config/initializers/mail_chimp.rb:1:in `<top (required)>': uninitialized constant MailChimp (NameError)
    from me/.rvm/gems/ruby-2.0.0-p0/gems/railties-4.0.0.rc1/lib/rails/engine.rb:609:in `block (2 levels) in <class:

任何人都知道我为什么会收到此错误。我是 Rails 新手,所以第一次设置初始化文件

4

1 回答 1

1

gem的命名空间是Mailchimp,不是MailChimp

Mailchimp.configure do |config|
  config.api_key = 'blabla'
end

但这假设我上面链接的宝石是您正在使用的宝石(您没有另外指定)


编辑:现在您已经更清楚地指定了您的问题,您需要创建自己的模块。MailChimp不存在,所以你不能只是调用configure并传递一个块给它。一个示例实现可能是

module MailChimp
  extend self

  def api_key
    "bla bla"
  end
end

这会让你打电话MailChimp.api_key回来"bla bla"。有一些宝石可以帮助你解决这类问题,但最好的方法是在环境变量中设置这个“秘密”信息。我个人使用dotenv. 还有这个优秀的阅读

于 2013-08-09T21:37:05.107 回答