我在轨道上使用红宝石,并设计。
我有一个senario wherin管理员可以将新用户添加到Web应用程序中,并提供他的电子邮件ID,并且在此senario下我将创建一个新用户。并且想要向用户电子邮件发出Auth-Token。因此,当他点击电子邮件中的链接时,系统会提示他发出新密码。
我忘了密码实施。
def create
resource = User.send_reset_password_instructions(params[:user])
if successfully_sent?(resource)
render json: {status: :true},status: 200
else
render json: {status: :false, error: user.errors.full_messages.join(",") } , status: 200
end
end
现在我的问题是我如何使用与忘记密码相同的逻辑,但是为管理员屏幕添加的用户使用不同的电子邮件模板。 ?
非常感谢。
答案 0 :(得分:0)
当您只需将用户重定向到用户可以更改密码的设置页面时,为什么要将用户重定向到忘记密码页?
使用模板创建邮件程序操作,只需在管理员创建用户的方法中调用该邮件程序操作即可。 e.g:
如果您的邮件操作是:
def forgot_pass(email)
mail(to: email, subject: 'Change your pass')
end
以及管理员创建用户的方法是:
def create_user
# your logic
YourMailerClass.forgot_pass(xyz@abc.com).deliver
end
有关邮件程序的详细信息,请参阅here