0

Mandrill 構文を使用して、次のようにしてユーザー固有の情報を送信できることを知っています。

def confirmation_instructions(record, token, opts={})
  options = {
    :subject => 'Email confirmation',
    :email => record.email,
    :name => record.first_name,
    :global_merge_vars => [
      {
        name: 'email',
        content: record.email
      },
      {
        name: 'confirmation_link',
        content: record.confirmation_token
      }
    ],
    :template => 'confirm_email'
  }
  mandrill_send(options)
end

しかし、デバイス確認指示html.erbにある実際の確認リンクを送信するにはどうすればよいですか?

ビュー/確認可能/メーラー/confirmation_instructions.html.erb

<p><%= link_to 'Confirm my account', confirmation_url(@resource, confirmation_token: @token) %></p>

アップデート

編集したので、このリンクを送ります:

content: 'http://localhost:3000/users/confirmation?confirmation_token=' + record.confirmation_token

トークンが実際に暗号化されているため、まだ機能しません。デフォルトのメーラーを使用すると、record.confirmation_token から取得したトークンよりもトークンがはるかに短いため、これが当てはまると思います。

Mandrill に正しいトークンを渡す方法を教えてもらえますか?

4

1 に答える 1

0

私は同じ問題を抱えていました。私にとってうまくいったのは、「record.confirmation_token」の代わりに「token」を使用することでした。Devise の最新の更新により、一部のメーラーのメソッド構成が変更されたようです。

代わりに: http://domain.com/users/confirmation?confirmation_token= ' + record.confirmation_token

使用: http://domain.com/users/confirmation?confirmation_token= ' + トークン

それがあなたを助けるかどうか私に知らせてください。

于 2014-11-28T03:43:07.663 に答える