Rails Mailchimp后台作业未实现错误

时间:2016-08-18 03:20:51

标签: ruby-on-rails ruby mailchimp gibbon sucker-punch

所以我想将一个在我的rails网站上注册的用户添加到邮件列表中。我已经安装了长臂猿宝石,并且我在一个独立的ruby文件中测试了我的ruby方法。但是,我将问题集成到我的应用程序中时遇到了问题。

我在rails日志中收到的错误是ERROR - :NotImplementedError(NotImplementedError)

这是我的方法,我试图从这篇博文中跟踪:http://aspiringwebdev.com/mailchimp-and-active-job-on-rails-4-adding-users-to-your-mailing-list-in-the-background/

我安装了后台工作程序(sucker_punch)。

我创建了一个名为AddUserToRegistrationListJob的作业

class AddUserToRegistrationListJob < ActiveJob::Base
  queue_as :default
  require 'gibbon'

    def registration_list(user_id)
        user = User.find(user_id)
        email = user.email
        first_name = user.first_name
        last_name = user.last_name

        mailchimp_list_id = "my list id here"
        Gibbon::Request.api_key = "my api key here"
        Gibbon::Request.timeout = 15
        gibbon = Gibbon::Request.new

        gibbon.lists("#{mailchimp_list_id}").members.create(
            body: 
            {
                email_address: email, 
                status: "subscribed", 
                merge_fields: {FNAME: first_name, LNAME: last_name
                    }})
    end
end

然后在我的user.rb文件中,我有

after_create :add_user_to_registration_list

def add_user_to_registration_list
    AddUserToRegistrationListJob.perform_later(self)
end

在我的ruby文件中,运行正常,我将方法的参数指定为

def registration_list(email, first_name, last_name)

并在我运行ruby文件时传入对象:

registration_list("email@example.com", "John", "Doe")

没有明确如何调整方法或参数来容纳rails。有什么建议吗?

0 个答案:

没有答案