1

OSX Mavericks、ruby 2.1.1p76 (2014-02-24 リビジョン 45161) [x86_64-darwin13.0]、rvm 1.25.23 (マスター)、および rails-4.1.0 (疑惑) を実行

Railsapps.org の本を読んでRailsを学習しています。mailchimp メーリング リスト コードの実装を完了しました。フォームで [送信] を押すと、次のエラーが表示されます。

Gibbon::GibbonError at /visitors
You must set an api_key prior to making a call

私は無効な URI エラーに取り組んでいましたが、不思議なことに週末に消えてしまいました (私は先週の金曜日から Mac に触れていません)。今、私はこの新しいエラーがあります。

API キーとリスト ID は有効で、適切に設定されています。ログを振り返ると、mailchimp.lists.subscribeメソッドが見つからないという別のエラーが表示されます。

本から実装されたコードは次のとおりです。

class Visitor < ActiveRecord::Base
  has_no_table
  column :email, :string
  validates_presence_of :email
  validates_format_of :email, :with => /\A[-a-z0-9_+\.]+\@([-a-z0-9]+\.)+[a-z0-9]{2,4}\z/i

  def subscribe
  mailchimp = Gibbon::API.new
  result = mailchimp.lists.subscribe({
    :id => Rails.application.secrets.mailchimp_list_id,
    :email => {:email => self.email},
    :double_optin => false,
    :update_existing => true,
    :send_welcome => true
  })
  Rails.logger.info("Subscribed #{self.email} to MailChimp") if result
end

end

自分でデバッグできないとき、初心者になるのは嫌いです...返信は大歓迎です。

よろしく、

ジェフ

4

1 に答える 1

1

Gibbon は環境変数 MAILCHIMP_API_KEY を自動的に検索し、Gibbon はインスタンスの作成時にそれを使用します。Unix 環境変数 MAILCHIMP_API_KEY を設定していない場合は、明示的に設定する必要があります。ハードコードするには:

 mailchimp = Gibbon::API.new("your_api_key")

または、config/secrets.yml ファイルから取得します。

 mailchimp = Gibbon::API.new(Rails.application.secrets.mailchimp_api_key)
于 2014-05-05T21:26:21.797 に答える