刚才遇到了一个小问题,我一直在做一些结对编程,试图调试它,在Google上搜索,但没有找到结果。
好的,所以我正在用Ruby中的Mandrill API构建一个简单的邮件发送器应用程序。我相信我已经用API密钥正确设置了我的bash配置文件,但是当我通过终端执行.rb文件时,我得到了这个消息:
Taimurs-MacBook-Pro:mail_sender taimurknaziri$ ruby mandrill.rb
D, [2014-06-19T12:00:30.473457 #3662] DEBUG -- : Net::NTLM is not available. Install via gem install rubyntlm.
/Library/Ruby/Gems/2.0.0/gems/mandrill-0.0.4/lib/mandrill/api.rb:35:in `initialize': wrong number of arguments (0 for 1..2) (ArgumentError)
from mandrill.rb:3:in `new'
from mandrill.rb:3:in `<main>'
在尝试与教授调试问题后,我得到了这个:
Taimurs-MacBook-Pro:mail_sender taimurknaziri$ ruby mandrill.rb
/Library/Ruby/Gems/2.0.0/gems/mandrill-api-1.0.51/lib/mandrill.rb:28:in `initialize': You must provide a Mandrill API key (Mandrill::Error)
from mandrill.rb:3:in `new'
from mandrill.rb:3:in `<main>'
如果有人能给我指出正确的方向,这意味着什么,那将是伟大的! 您的API密钥不会出现在bash配置文件中。在您的ruby项目中创建另一个文件,例如.env
,并在其中存储您的环境变量,例如api密钥,如下所示:
ENV['MANDRILL_API_KEY'] = "PUT YOUR KEY HERE"
然后在mandrill.rb
程序中设置API密钥等于MANDRILL_API_KEY
。例如,你可以这样做:
m = Mandrill::API.new(MANDRILL_API_KEY)