Ruby on rails Rails使用Mailchimp api保存回调值

Ruby on rails Rails使用Mailchimp api保存回调值,ruby-on-rails,api,ruby-on-rails-3.1,mailchimp,Ruby On Rails,Api,Ruby On Rails 3.1,Mailchimp,我正试图从Mailchimp保存一个段id值。我成功地创建了“订阅”和“取消订阅”过程。我现在尝试在每次创建“事件”模型时创建一个列表段(这允许我从电子邮件列表中创建一个侧段)。我可以创建列表段并获得返回给我的段id值,但我在保存该id时遇到问题。我的events表中有一个seg_id列,还有一个MailChimpList模型类,我所有调用MailChimp api的方法都在该类中 这是我在邮件列表api中的方法 def event_segment_list(event) event_

我正试图从Mailchimp保存一个段id值。我成功地创建了“订阅”和“取消订阅”过程。我现在尝试在每次创建“事件”模型时创建一个列表段(这允许我从电子邮件列表中创建一个侧段)。我可以创建列表段并获得返回给我的段id值,但我在保存该id时遇到问题。我的events表中有一个seg_id列,还有一个MailChimpList模型类,我所有调用MailChimp api的方法都在该类中

这是我在邮件列表api中的方法

 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列中保存段id值的最佳方法是什么?

我最终通过使用update_属性解决了这个问题

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
class事件