2

从文档中我认为它不应该发送确认电子邮件,但它正在这样做。

这是我对邀请动作的设置:

class Users::InvitationsController < Devise::InvitationsController

def multiple_create
    if params[:multiple_emails].blank?
        build_resource
        render :new, notice: "something went wrong"
    else
        params[:multiple_emails].each do |email|
            User.invite!({email: email}, current_user) # current_user will be set as invited_by
        end
        if current_user.errors.empty?
            set_flash_message :notice, :send_instructions, :email => params[:multiple_emails]
            respond_with current_user, :location => after_invite_path_for(current_user)
        else
            respond_with_navigational(current_user) { render :new }
        end
    end
end
end
4

3 回答 3

1

对于必须:confirmable用于用户注册并希望避免发送带有邀请的确认信的情况:

class User < ApplicationRecord
  after_create :skip_confirmation_notification!, unless: Proc.new { self.invitation_token.nil? }
end
于 2020-04-30T09:14:26.497 回答
-1

为避免设计确认邮件,您必须:confirmable从用户模型中排除选项。

例如,更改:

 class User  
   devise :registerable, :confirmable
 end  

到:

 class User  
   devise :registerable
 end  
于 2013-03-18T22:45:51.413 回答
-3

github上 devise_invitable repo 的文档非常清楚如何跳过发送邀请电子邮件。查看Usage下的第二个代码片段,它前面有以下文本:

如果要创建邀请但不发送,可以将 skip_invitation 设置为 true。

于 2013-03-19T20:33:24.477 回答