Как исправить рассылку mail-chimp с переменными окружения heroku и рельсами - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь, чтобы среда Heroku работала с функциональностью моей рассылки. Первоначально он работал как ожидалось, так как я впервые развернул пару лет назад. Теперь это перестало работать, и я не могу понять, почему.

Я попытался сбросить переменные среды Heroku, запустив Heroku config:set MAILCHIMP_API_KEY=<API KEY> и Heroku config:set MAILCHIMP_LIST_ID=<LIST ID>. Я также бегал export mailchimp_api_key="<API KEY> и export mailchimp_list_id="<LIST_ID>". После того, как я запустил команды экспорта на моем новом компьютере для установки переменных env, он начал работать локально. Но все же, ничего не работает в среде 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 
...