我在devise gem中包含了确认模块并且工作正常但是我需要在2天后(基于设计配置)在登录时发送未经确认的电子邮件时提醒用户一些flash消息。
config.allow_unconfirmed_access_for = 2.days
如何添加按钮以重新发送邮件以进行确认。
答案 0 :(得分:1)
您需要创建一个链接到控制器操作的按钮,并为其创建一个路径,如resend_email_path(user)
。在控制器操作中,您需要包括:
def resend_email
user = User.find(params[:id])
user.send_confirmation_instructions
end
有关此方法的详细信息,请参阅:
一旦你正常工作,你就可以用remote: true
要添加Flash消息,请将其放入您未经确认的用户所在的控制器操作中:
if current_user.confirmation_period_expired?
flash[:error] = "Confirmation Time Expired. #{link_to 'Resend email', resend_email_path(user)}".html_safe
end