gpt4 book ai didi

ruby-on-rails - Devise Invitable 根据用户类型发送不同的电子邮件

转载 作者:太空宇宙 更新时间:2023-11-03 16:03:36 25 4
gpt4 key购买 nike

我在以前的版本中使用 devise_invitable 向不同的用户角色发送不同的邀请电子邮件。例如,管理员用户会收到与普通用户不同的邀请。为了向用户发送不同的电子邮件,我执行了以下操作:

 @user = User.invite!(params[:user], current_user) do |u|
u.skip_invitation = true
end

if params[:admin_id] # admin invite
@user.deliver_invitation
email = NotificationMailer.admin_invite_message(@user, @venue, @from, @subject, @content)
else
@user.deliver_invitation
NotificationMailer.user_invite_message(@user, @from, @subject, @content)
end

这种方法提供了很大的灵 active 。但是随着 token 生成方式的最新变化(见下文),不再可能使用这种方法。

# Generates a new random token for invitation, and stores the time
# this token is being generated
def generate_invitation_token
raw, enc = Devise.token_generator.generate(self.class, :invitation_token)
@raw_invitation_token = raw
self.invitation_token = enc
end

现在使用 resource.invitation_token 会生成 token 的加密版本,并且无法从我的 NotificationMailer 中获取原始 token ,因此我无法将其发送给用户。

任何提示和解决方法将不胜感激。

(opened an issue 在设计邀请的 github 上)

最佳答案

要访问@raw_invitation_token,您只需将:attr_reader :raw_invitation_token 添加到User 模型。

关于ruby-on-rails - Devise Invitable 根据用户类型发送不同的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19214780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com