【发布时间】:2015-08-09 06:57:37
【问题描述】:
我最近添加了使用 Gibbon gem 从我的 rails 应用程序订阅人们到 mailchimp 列表的功能。
在人们注册时订阅列表非常有效,当他们登录时它会更新他们在 mailchimp 列表中的信息(例如登录次数和 last_login_date)。
但是有其他用户在使用我想添加到 mailchimp 列表中的应用程序,但因为他们已经有一个帐户,他们不会再次注册,因此不会被订阅。
我正在尝试向登录页面添加一个 if 语句,如果它们尚不存在,则将它们订阅到列表中,但无法弄清楚语法。
例如,如果我测试它以查找我知道不存在的用户,如下所示:
Gibbon::API.lists.member_info({:id => list_id, :emails => [{:email => "d@duncanma.com"}]})
然后它返回这个:
{"success_count"=>0, "error_count"=>1, "errors"=>[{"email"=>{"email"=>"d@duncanma.com"}, "error"=>"The id passed does not exist on this list", "code"=>232}], "data"=>[]}
但我需要的只是一个真假...
我试过了:
Gibbon::API.lists.member_info({:id => list_id, :emails => [{:email => "d@duncanma.com"}]}).include("success_count"=>0)?
但这显然不起作用,因为它说未定义方法 include? for Hash...
关于如何将其转换为真或假布尔值的任何想法?
【问题讨论】:
-
我可以提出一个有点尴尬的解决方案,但我已经使用
Gibbon::API.lists.members({:id => list_id})获取列表的所有成员并手动解析响应以检查特定用户是否存在。 -
嗯,我想我可以这样做,但就像你说的那样,这感觉有点尴尬……这个名单已经包括了几千人,所以这可能会减慢这个过程有点,对吧?
标签: ruby-on-rails mailchimp gibbon