0

Mailchimp からセグメント ID 値を保存しようとしています。「購読」と「購読解除」プロセスを正常に作成しました。「イベント」モデルを作成するたびに、リスト セグメントを作成しようとしています (これにより、メール リストからサイド セグメントを作成できます)。リスト セグメントを作成し、返されたセグメント ID 値を取得できますが、その ID の保存に問題があります。イベント テーブルに seg_id 列があり、MailChimp api を呼び出すすべてのメソッドが含まれる MailChimpList モデル クラスがあります。

これは私の MailChimpList 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

ロガーは正しい値を返しています

今、その値を Events クラスに保存しようとしています。

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

セグメント ID 値を seg_id 列に保存する最良の方法は何ですか?

4

1 に答える 1

0

私は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
于 2012-03-26T03:42:03.990 に答える