私のアプリのユーザー設定では、ユーザーはボックスをチェックすることで MailChimp リストを購読または購読解除できます。ユーザーの MailChimp member_id の取得に問題があります。
以下を使用して .env ファイルを作成しました。
MAILCHIMP_API_KEY = "my_api_key"
MAILCHIMP_LIST_ID = "my_list_id"
以下を使用して、gibbon.rb というイニシャライザを作成しました。
Gibbon::Request.api_key = ENV["MAILCHIMP_API_KEY"]
Gibbon::Request.timeout = 15
このメソッドは user.rb で使用します
def mailchimp_news
@mailchimp_list_id = ENV["MAILCHIMP_LIST_ID"]
@gibbon = Gibbon::Request.new
if self.news_email == true
@gibbon.lists(@mailchimp_list_id).members.update(body: {
email_address: self.email,
status: "subscribed",
merge_fields: {FNAME: self.name,
LNAME: ""}
})
elsif self.news_email == false
@gibbon.lists(@mailchimp_list_id).members(member_id).update(body: { status: "unsubscribed" })
end
終わり
そして、アフターチェックで呼び出します
after_save :mailchimp_news
次のエラーが表示されます: undefined local variable or method `member_id'
。member_id を取得するにはどうすればよいですか?