首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >吉本::在/visitors,你必须在打电话之前设置一个api_key

吉本::在/visitors,你必须在打电话之前设置一个api_key
EN

Stack Overflow用户
提问于 2014-05-05 20:38:29
回答 1查看 1.2K关注 0票数 1

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

我正在阅读railsapps.org关于学习rails的书--我已经完成了mailchimp电子邮件列表代码的实现,当我在表单上按submit时,我会得到以下错误:

代码语言:javascript
复制
Gibbon::GibbonError at /visitors
You must set an api_key prior to making a call

我正在使用一台无效URI错误,它在周末神秘地消失了(从上周五起我就没碰过Mac了)。现在我有了一个新的错误。

我的API键和列表ID是有效的,并且设置正确。如果我回头看看日志,我会看到另一个错误,即mailchimp.lists.subscribe方法丢失了。

下面是从这本书中实现的代码:

代码语言:javascript
复制
class Visitor < ActiveRecord::Base
  has_no_table
  column :email, :string
  validates_presence_of :email
  validates_format_of :email, :with => /\A[-a-z0-9_+\.]+\@([-a-z0-9]+\.)+[a-z0-9]{2,4}\z/i

  def subscribe
  mailchimp = Gibbon::API.new
  result = mailchimp.lists.subscribe({
    :id => Rails.application.secrets.mailchimp_list_id,
    :email => {:email => self.email},
    :double_optin => false,
    :update_existing => true,
    :send_welcome => true
  })
  Rails.logger.info("Subscribed #{self.email} to MailChimp") if result
end

end

我讨厌当我不能为自己调试的时候.感谢你的答复。

致以敬意,

杰夫

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-05 21:26:21

Gibbon会自动查找环境变量MAILCHIMP_API_KEY,而Gibbon在创建实例时将使用它。如果您没有设置Unix变量MAILCHIMP_API_KEY,则需要显式设置它。要硬编码它:

代码语言:javascript
复制
 mailchimp = Gibbon::API.new("your_api_key")

或者从config/secils.yml文件中获得它:

代码语言:javascript
复制
 mailchimp = Gibbon::API.new(Rails.application.secrets.mailchimp_api_key)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23481422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档