如何使用Heroku环境变量和Rails修复黑猩猩新闻通讯

时间:2019-06-25 12:53:00

标签: ruby-on-rails heroku environment-variables mailchimp gibbon

我正在尝试使Heroku环境与我的新闻通讯功能一起使用。自从我几年前首次部署以来,它一直按预期运行。现在它停止工作了,我不知道为什么。

我尝试通过运行Heroku config:set MAILCHIMP_API_KEY=<API KEY>Heroku config:set MAILCHIMP_LIST_ID=<LIST ID>重置Heroku环境变量。我还运行了export mailchimp_api_key="<API KEY>export mailchimp_list_id="<LIST_ID>"。在新电脑上运行export命令设置环境变量后,它开始在本地运行。但是,在Heroku环境中仍然没有任何工作。

def create
  @visitor = Visitor.new(secure_params)
  if @visitor.valid?
    @visitor.subscribe
    flash[:notice] = "Signed up #{@visitor.email}."
    redirect_to root_url(subdomain: 'www')
  else
    flash[:danger] = "Please add email address"
  end
end
def subscribe
  mailchimp = Gibbon::Request.new(api_key: Rails.application.secrets.mailchimp_api_key)
  list_id = Rails.application.secrets.mailchimp_list_id
  result = mailchimp.lists(list_id).members.create(
    body: {
      email_address: self.email,
      status: 'subscribed'
  })
  Rails.logger.info("Subscribed #{self.email} to MailChimp") if result
end

在heroku日志中,它仅显示GET Processing by VisitorsController#new as HTML,而没有显示POST VisitorsController#create,这很奇怪。我希望create操作能够运行并将电子邮件添加到列表中。它在本地显示POST:

Started POST "/visitors"
Processing by VisitorsController#create as HTML 

0 个答案:

没有答案