Недавно я добавил возможность подписки на список mailchimp из моего приложения rails с использованием Gibbon gem.Подписывать кого-то в список Mailchimp, если они еще не существуют
Он отлично работает, чтобы подписаться на список людей, когда они регистрируются, и когда они заходят в систему, он обновляет свою информацию в списке mailchimp (например, счет входа в систему и last_login_date).
Однако есть другие пользователи, которые используют приложение, которое я хотел бы добавить в список mailchimp, но поскольку у них уже есть учетная запись, они не собираются снова зарегистрироваться, поэтому не будут подписаны.
Я пытаюсь добавить оператор if на страницу входа, которая подписывает их на список, если они еще не существуют, но не могут определить синтаксис.
Если, например, я могу проверить его, чтобы найти пользователя, который я знаю, не существует, как это:
Gibbon::API.lists.member_info({:id => list_id, :emails => [{:email => "[email protected]"}]})
Затем он возвращает это:
{"success_count"=>0, "error_count"=>1, "errors"=>[{"email"=>{"email"=>"[email protected]"}, "error"=>"The id passed does not exist on this list", "code"=>232}], "data"=>[]}
Но что мне нужно это просто истина или ложь ...
Я пробовал:
Gibbon::API.lists.member_info({:id => list_id, :emails => [{:email => "[email protected]"}]}).include("success_count"=>0)?
но, очевидно, не работает, как он говорит, что не определен метод include?
для Hash ...
Любые идеи о том, как я могу получить его к истинному или ложному логическое значение?
Я могу предложить немного неудобное решение, но я сделал это, получив все члены списка, используя 'Gibbon :: API.lists.members ({: id => list_id})' и ручную разборку ответа, чтобы проверить, там существует конкретный пользователь. – usmanali
Хм, я думаю, я мог бы это сделать, но это похоже на неловкое решение, как вы сказали ... список уже включает в себя несколько тысяч человек, чтобы можно было немного замедлить процесс, не так ли? – camillavk