在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密钥未知的响应。
- 尝试使用设备注册用户时的ActiveRecord :: AssociationTypeMismatch
- 执行了validation,但仅在生产中没有在Rails 3.2.0上使用field_with_errors div包围的字段