Я пытаюсь, чтобы среда 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