Rails сохраняет значение обратного вызова с помощью Mailchimp api - PullRequest
0 голосов
/ 24 марта 2012

Я пытаюсь сохранить значение идентификатора сегмента из Mailchimp. Я успешно создал процессы «подписаться» и «отписаться». Сейчас я пытаюсь создать сегмент списка каждый раз, когда создаю модель «Событие» (это позволяет мне создать боковой сегмент из моего списка электронной почты). Я могу создать сегмент списка и получить возвращенное мне значение идентификатора сегмента, но у меня возникают проблемы с сохранением этого идентификатора. У меня есть столбец seg_id в моей таблице событий и класс модели MailChimpList, где все мои методы, которые вызывают API MailChimp.

Это мой метод в моем API MailChimpList

 def event_segment_list(event)
    event_mailer_id = @api.list_static_segment_add(
    :name => event  )
   Rails.logger.info "Created segment for event #{event_mailer_id}"
 end

Регистратор возвращает правильное значение

Теперь я пытаюсь сохранить это значение в своем классе событий,

class Event 

after_create :create_email_segment

private
def create_email_segment
  list = MailchimpList.new
  if list.available?
   id = list.event_segment_list(
      self.slug
    )
  end
   self.seg_id = id
  end
end

Как лучше всего сохранить значение идентификатора сегмента в столбце seg_id?

1 Ответ

0 голосов
/ 26 марта 2012

Я решил эту проблему с помощью update_attribute.

class Event < Cause
after_create :create_email_segment

private
def create_email_segment
  list = MailchimpList.new
    if list.available?
      mail_id = list.event_segment_list(
      self.slug)
    end
  self.update_attribute(:seg_id, mail_id)
  end
end
...