在Rails中使用Mailchimp时无效的URI错误

运行OSX Mavericks,ruby 2.1.1p76(2014-02-24修订版45161)[x86_64-darwin13.0],rvm 1.25.23(主站)和rails-4.1.0(据称)

我正在通过railsapps.org书来学习rails我已经完成了mailchimp电子邮件列表代码的实现,当我在表单上按提交时,我收到以下错误:

URI::InvalidURIError at /visitors the scheme https does not accept registry part: us8'.api.mailchimp.com (or bad hostname?) 

我的调试屏幕似乎表明它在通话时失败了

 result = mailchimp.lists.subscribe({ :id => Rails.application.secrets.mailchimp_list_id, :email => {:email => self.email}, :double_optin => false, :update_existing => true, :send_welcome => true }) 

我有我的API密钥和列表ID都硬编码到secrets.yml,所以我知道他们是正确的。

有任何想法吗?

问候,杰夫

该错误消息表明用于联系Mailchimp服务器的URL格式不正确。

Gibbon gem构造对Mailchimp服务器的HTTPS请求,并使用httparty gem来发出HTTPS请求。 我们可以确信Gibbon按预期工作。 您可以查看Gibbon问题进行确认; 我刚刚做了,没有看到像你这样的问题。

所以我们知道Gibbon正在工作,我们可以假设learn-rails教程应用程序中的代码有效(因为没有其他人报告过这个问题)。 那么问题的原因是什么呢? 我的猜测是你的API密钥不正确。 它可能有一个不属于的额外单引号。 我猜测有关API密钥的事情阻止了Gibbon形成正确的URL字符串。

您可以通过输入格式正确但错误的API密钥进行诊断。 而不是URL错误应该从Mailchimp服务器获得您的API密钥未知的响应。