Rails 4和MailChimp:注册

时间:2016-11-24 20:12:54

标签: ruby-on-rails-4 mailchimp

我正在尝试在用户在我的网站上注册时为MailChimp创建订阅。我已成功通过电子邮件将它们添加到我的“时事通讯”列表中,但它们的名字和姓氏没有显示出来。我提到了以下内容:

Aspiring Web Dev: Guide

Bitbucket

MailChimp API Docs

RubyDoc - mailchimp-api gem

在用户模型中,我尝试过:

user.rb

after_create :add_newsletter_subscriber

def add_newsletter_subscriber
 mailchimp = Mailchimp::API.new(ENV['MAILCHIMP-API-KEY'])
 mailchimp.lists.subscribe(ENV['NEWSLETTER-LIST-ID'], {
    :email => self.email,       
     :merge_vars => {
                      "FNAME" => self.first_name,
                      "LNAME" => self.last_name
                    },
      :double_optin => false
 })
end

...

def add_newsletter_subscriber
 mailchimp = Mailchimp::API.new(ENV['MAILCHIMP-API-KEY'])
 mailchimp.lists.subscribe(ENV['NEWSLETTER-LIST-ID'], {
    :email => self.email,       
     :merge_vars => {
                      :FNAME => self.first_name,
                      :LNAME => self.last_name
                    },
      :double_optin => false
 })
end

...

def add_newsletter_subscriber
 mailchimp = Mailchimp::API.new(ENV['MAILCHIMP-API-KEY'])
 mailchimp.lists.subscribe(ENV['NEWSLETTER-LIST-ID'], {
    :email => self.email,       
     :merge_vars => {
                      "FIRSTNAME" => self.first_name,
                      "LASTNAME" => self.last_name
                    },
      :double_optin => false
  })
 end

...

def add_newsletter_subscriber
 mailchimp = Mailchimp::API.new(ENV['MAILCHIMP-API-KEY'])
 mailchimp.lists.subscribe(ENV['NEWSLETTER-LIST-ID'], {
    :email => self.email,       
     :merge_vars => {
                      "FNAME" => :first_name,
                      "LNAME" => :last_name
                    },
      :double_optin => false
  })
 end

...

def add_newsletter_subscriber
 mailchimp = Mailchimp::API.new(ENV['MAILCHIMP-API-KEY'])
 mailchimp.lists.subscribe(ENV['NEWSLETTER-LIST-ID'], {
    :email => self.email,       
     :merge_vars => {
                      "*|FNAME|*" => self.first_name,
                      "*|LNAME|* => self.last_name
                    },
      :double_optin => false
 })
end

所有这些都会将电子邮件发送给MailChimp,但不会发送姓名。请帮忙。谢谢。

1 个答案:

答案 0 :(得分:0)

使用gibbon gem处理最新的(v3)API版本。

mailchimp-api-ruby gem仅适用于已弃用的v2版本。