4

Devise は再確認可能なオプションをサポートしています。ユーザーがメールを変更した場合、新しいメールを確認する必要があります。

ただし、標準の確認メール テンプレートが使用されます。再確認が必要なメールには別のメール テンプレートを使用したいと考えています。

デバイスの registrations_controller.rb:

  def update

    self.resource = resource_class.to_adapter.get!(send(:"current_#{resource_name}").to_key)
    prev_unconfirmed_email = resource.unconfirmed_email if resource.respond_to?(:unconfirmed_email)

    if resource.update_with_password(resource_params)
      if is_navigational_format?
        flash_key = update_needs_confirmation?(resource, prev_unconfirmed_email) ?
            :update_needs_confirmation : :updated
        set_flash_message :notice, flash_key
      end
      sign_in resource_name, resource, :bypass => true
      respond_with resource, :location => after_update_path_for(resource)
    else
      clean_up_passwords resource
      respond_with resource
    end
  end

デフォルトの確認テキストを使用する代わりに、再確認可能な電子メールに別の電子メールテキストを使用できるようにするために、Devise にフックする場所を知っている人はいますか?

4

1 に答える 1

6

この質問を見てください:

デバイス確認可能とデバイス再確認可能の 2 つの異なるメールを送信するにはどうすればよいですか?

@resource.pending_reconfirmation?デバイスの Confirmation_instructions メーラーにアクセスできる必要があります。

于 2013-08-03T04:28:21.920 に答える