"campaing_id" is not a symbol error when use mail chimp api with gibbon
"campaing_id" is not a symbol error when using mail chimp api with gibbon
上下文:
我有一个 rails 应用程序。我有一个表格,用户可以在其中输入他们的电子邮件列表作为新闻信件的一部分。
我正在为 rails 使用 mail chimp 和 gibbon gem。
我可以使用 gibbon api 成功地将新订阅者添加到列表中
我可以成功创建一个新的活动,如下面的代码所示。
在我的 gem 文件中:
gem 'gibbon', git: 'git://github.com/amro/gibbon.git'
为了测试功能,我调用了 CampaignsController 中的创建操作(下面的代码)。
活动已成功创建,我从 api 获得了结果,但在下一步中应用程序崩溃并显示以下错误消息:
问题:
CampaignsController 中的类型错误#create
["xyz"] 不是符号,其中 xyz 是新创建的活动的 campaign_id。
代码:
在 CampaignsController
def create
mailchimp = Gibbon::API.new(Rails.application.secrets.mailchimp_api_key)
new_campaign = mailchimp.campaigns.create({:type=>"plaintext",
:options=>
{:list_id=>"abcdefgh",
:subject=>"Hello World",:from_email => "xyz@gmail.com",
:from_name => "abc",:to_name =>"Programmer"},
:content =>
{:text => "Hello remote programmers I hope you find this mail."}
})
cid = new_campaign["id"]
mailchimp.campaigns.send(cid)
end
看起来 mailchimp.campaigns.send
正在寻找选项的散列,而不仅仅是一个 ID。
来自他们的specs:
expect(@gibbon.campaigns.send({"cid" => "1234567"})).to eq({"cid" => "1234567"})
上下文: 我有一个 rails 应用程序。我有一个表格,用户可以在其中输入他们的电子邮件列表作为新闻信件的一部分。 我正在为 rails 使用 mail chimp 和 gibbon gem。 我可以使用 gibbon api 成功地将新订阅者添加到列表中 我可以成功创建一个新的活动,如下面的代码所示。 在我的 gem 文件中: gem 'gibbon', git: 'git://github.com/amro/gibbon.git' 为了测试功能,我调用了 CampaignsController 中的创建操作(下面的代码)。 活动已成功创建,我从 api 获得了结果,但在下一步中应用程序崩溃并显示以下错误消息:
问题: CampaignsController 中的类型错误#create ["xyz"] 不是符号,其中 xyz 是新创建的活动的 campaign_id。
代码: 在 CampaignsController
def create
mailchimp = Gibbon::API.new(Rails.application.secrets.mailchimp_api_key)
new_campaign = mailchimp.campaigns.create({:type=>"plaintext",
:options=>
{:list_id=>"abcdefgh",
:subject=>"Hello World",:from_email => "xyz@gmail.com",
:from_name => "abc",:to_name =>"Programmer"},
:content =>
{:text => "Hello remote programmers I hope you find this mail."}
})
cid = new_campaign["id"]
mailchimp.campaigns.send(cid)
end
看起来 mailchimp.campaigns.send
正在寻找选项的散列,而不仅仅是一个 ID。
来自他们的specs:
expect(@gibbon.campaigns.send({"cid" => "1234567"})).to eq({"cid" => "1234567"})