如何使用复选框向订阅者保存电子邮件?

选中此框后,如何在单击“保存”时将用户的电子邮件从“输入电子邮件”添加到我的mailchimp订阅者列表中?

在此处输入图像描述

用户/ new.html.erb

   Get blog posts from Anthony Galli, CEO & Founder about conquering challenges in life & business!  

在注册过程之外,人们可以通过在subscribes / subscribe.html.erb中输入他们的电子邮件来订阅

   
(function($) {window.fnames = new Array(); window.ftypes = new Array();fnames[0]='EMAIL';ftypes[0]='email';fnames[1]='FNAME';ftypes[1]='text';fnames[2]='LNAME';ftypes[2]='text';}(jQuery));var $mcj = jQuery.noConflict(true);

表单将提交给您的应用程序。 因此,您可以使用Mailchimp API将用户添加到列表中。 有各种Mailchimp APIgem。 我刚选了一个:

点击此处如何设置API https://github.com/amro/gibbon

注册控制器

 def create @user = User.new(user_params) if @user.save subscribe_to_newsletter(@user) redirect_to ... else ... end end private def subscribe_to_newsletter(user) gibbon.lists(list_id).members.create(body: {email_address: user.email, status: "subscribed", merge_fields: {FNAME: user.first_name, LNAME: user.last_name}}) end 

现在这可能需要一些时间。 如果是这种情况,您可能希望将其移至后台作业。 也许还将整个Mailchimp代码移动到服务对象,以便正确封装。