0

上下文: 我有一个 Rails 应用程序。我有一个表格,用户可以在其中输入他们的电子邮件列表作为新闻信函的一部分。我正在使用邮件黑猩猩和长臂猿宝石作为导轨。我可以使用 gibbon api 成功地将新订阅者添加到列表中,我可以成功创建一个新活动,如下面的代码所示。在我的 gem 文件中: gem 'gibbon', git: 'git://github.com/amro/gibbon.git' 为了测试功能,我在 CampaignsController 中调用 create 操作(代码如下)。活动已成功创建,我从 api 获取结果,但在下一步中,应用程序崩溃并显示以下错误消息:

问题: CampaignsController#create ["xyz"] 中的 TypeError 不是一个符号,其中 xyz 是新创建的活动的活动 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
4

1 回答 1

1

看起来mailchimp.campaigns.send正在寻找选项的哈希值,而不仅仅是一个 id。

根据他们的规格

expect(@gibbon.campaigns.send({"cid" => "1234567"})).to eq({"cid" => "1234567"})
于 2015-01-11T18:56:30.120 回答