2012-03-24 3 views
0

Mailchimp에서 세그먼트 ID 값을 저장하려고합니다. 나는 "subscribe"와 "unsubscribe"과정을 성공적으로 만들었습니다. 나는 이제 "이벤트"모델을 만들 때마다 목록 세그먼트를 만들려고하고있다. (이것은 내 이메일 목록에서 사이드 세그먼트를 만들 수있다.) 목록 세그먼트를 만들고 세그먼트 ID 값을 반환 할 수 있지만 해당 ID를 저장하는 데 문제가 있습니다. 내 이벤트 테이블과 MailChimpList 모델 클래스에 seg_id 열이 있는데 MailChimp API를 호출하는 모든 메서드가 있습니다. Mailchimp API를 사용하여 콜백 값을 저장하는 레일

내 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 

내 이벤트 클래스에 그 값을 저장하려고 지금

올바른 값을 반환 로거,

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 값을 저장하는 가장 좋은 방법은 무엇입니까?

답변

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 
관련 문제