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