当用户注册到我的应用程序时,我想知道如何将用户添加到我的邮件黑猩猩列表中。我用Gibbon给邮件黑猩猩和设计的认证。
这是相关的文件(我想)..
初始化/gibbon.rb
Gibbon::API.api_key = MAILCHIMP_API_KEY
Gibbon::API.timeout = 15
Gibbon::API.throws_exceptions = falseuser.rb
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
before_create :add_to_list
has_many :categories
has_many :startups
def add_to_list
@list_id = "MY_LIST_ID"
@gb = Gibbon::API.new
@gb.lists.subscribe({
:id => @list_id,
:email => {:email => self.email},
},
:double_optin => false,
})
end
end
def admin?
role == "admin"
end
end当我试图重新启动我的rails服务器时,我得到了一个错误。
uninitialized constant Gibbon::API 我尝试过将它添加到我的gem文件中,但是当我运行bundle安装时,它不会连接到github。
gem 'gibbon', git: 'git://github.co/amro/gibbon.git'所以现在我把这个放在了我的gem文件里
gem 'gibbon', '~> 2.0.0'我需要做些什么来解决这个问题,有什么建议吗?
还有人知道用设计实现长臂猿的好指南吗?我不确定我是不是做得对。我是否需要在我的注册/new.html.erb文件中添加一些内容,以便于将用户添加到列表中?
发布于 2015-09-15 17:42:25
您使用的是Gibbon 2 gem和Gibbon 1语法。我猜你是在学习教程吧。调用已从Gibbon::API更改为Gibbon::Request
因此,您的模型方法看起来更像:
def add_to_list
list_id = "<YOUR-LIST-ID>"
@gb = Gibbon::Request.new
subscribe = @gb.lists(list_id).members.create(body: {email_address: self.email, status: "subscribed", double_optin: false})
# Do something with subscription errors here
end请注意,您需要更改初始化器和模型中的方法调用。
https://stackoverflow.com/questions/32590743
复制相似问题