初始化程序.rb文件错误发生

时间:2013-08-09 21:34:45

标签: ruby-on-rails

我正在尝试设置初始化程序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,所以第一次设置初始化文件

1 个答案:

答案 0 :(得分:1)

The gem的命名空间为Mailchimp,而不是MailChimp

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

但是假设我上面链接的gem是你正在使用的(你没有另外指定)


修改:现在您已经更明确地指定了问题,您需要创建自己的模块。 MailChimp不存在,因此您不能只调用configure并将块传递给它。一个示例实现可能是

module MailChimp
  extend self

  def api_key
    "bla bla"
  end
end

这样您就可以致电MailChimp.api_key并返回"bla bla" gems 可以帮助您解决此类问题,但最好的方法是在环境变量中设置此“秘密”信息。我个人使用 dotenv 。还有 this excellent read