-2

メールの送信にmailgunを使用しています。「Unsubscribe me」機能を追加するためのAPIがあります。Railsアプリで使用しています。

このコマンドを使用して、購読を解除したすべてのユーザーのリスト、つまり mailgun の購読解除テーブルのエントリを取得します。

 RestClient.get "https://api:key-3ax6xnjp29jd6fds4gc373sgvjxteol0"  "@api.mailgun.net/v2/samples.mailgun.org/unsubscribes"

その出力を @unsubscriber に保存しています。したがって、私のコントローラーには次のものがあります。

  @unsubscribers = RestClient.get "https://api:key-3ax6xnjp29jd6fds4gc373sgvjxteol0"  "@api.mailgun.net/v2/samples.mailgun.org/unsubscribes"

出力をビューに表示すると、 <%= @unsubscribers %> 文字列が表示されます:

{
  "total_count": 1,
  "items": [{
    "created_at": "Sun, 11 Aug 2013 08:07:22 GMT",
    "tag": "*",
    "id": "sdfsdfw12423535456",
    "address": "xyz@abc.com"
  }]
}

登録解除したメールをデータベースから削除したいので、@unsubscribers のメールのみが必要です。ただし、文字列全体が含まれています。

上記の文字列から電子メールを抽出する方法がわかりません。これにより、@unsubscribers に電子メールのリストを作成し、アプリからそれらを削除できます。

誰でも私を助けることができますか?

4

2 に答える 2

1

最初の加入者のアドレスにアクセスしようとしている場合:

@unsubscriber['items'].first['address']

より安全なコード:

((@unsubscriber['items'] || []).first || {} )['address']

すべてのアドレスを収集しようとしている場合:

(@unsubscriber['items'] || []).map{|s| ['address']}
于 2013-08-11T17:10:27.117 に答える
-1

@unsubscriberハッシュです。itemsハッシュの配列です。を使用して最初のアイテムを取得する必要があります[0]address次に、値が必要です

@unsubscriber["items"][0]["address"]
于 2013-08-11T17:07:57.060 に答える