在我的应用程序的用户设置中,用户可以通过选中复选框来订阅或取消订阅MailChimp列表。我在检索用户MailChimp member_id时遇到了一些问题。
我创建了一个包含以下内容的.env文件:
MAILCHIMP_API_KEY = "my_api_key"
MAILCHIMP_LIST_ID = "my_list_id"我用以下命令创建了一个名为gibbon.rb的初始化器:
Gibbon::Request.api_key = ENV["MAILCHIMP_API_KEY"]
Gibbon::Request.timeout = 15我在user.rb中使用此方法
def mailchimp_news
@mailchimp_list_id = ENV["MAILCHIMP_LIST_ID"]
@gibbon = Gibbon::Request.new
if self.news_email == true
@gibbon.lists(@mailchimp_list_id).members.update(body: {
email_address: self.email,
status: "subscribed",
merge_fields: {FNAME: self.name,
LNAME: ""}
})
elsif self.news_email == false
@gibbon.lists(@mailchimp_list_id).members(member_id).update(body: { status: "unsubscribed" })
end结束
并使用after检查调用它
after_save :mailchimp_news我收到这个错误:undefined local variable or method `member_id'。如何获取member_id?
发布于 2015-09-01 01:06:35
在How To Manage Subscribers帮助页面中,在API v3中,订阅者ID是用户电子邮件地址的小写版本的MD5散列。
所以你会想要使用Digest::MD5.hexdigest(self.email.downcase)。
https://stackoverflow.com/questions/32291888
复制相似问题