0
我使用的设计为我的用户帐户,我会得到所有的确认,用户密码说明等; 但我有一个条件,如果用户帐户被锁定(在我的方案中状态为false),他必须通过电子邮件获得重置密码链接。这个锁定过程在其他控制器中编码,所以我们不能使用设计助手。Unlock_instructions电子邮件
我的控制器的代码:
DEF send_instruction
一个= []
if @answer1 a << '1' end if @answer2 a << '2' end if @answer3 a << '3' end if a.size <= 1 SiteMailer.unlock_user(current_user).deliver current_user.update_attribute(:status,false) destroy_user_session_path(current_user) flash[:error]= "Your account is locked" redirect_to new_user_session_path else redirect_to user_dashboard_path end
寄件人/ site_mailer.rb:
类SiteMailer <的ActionMailer: :乙ASE
包括设计::邮件程序::助手
从缺省: “[email protected]” DEF unlock_user(用户)
@user = user @url = "pwd_edit" mail(to: @user.email, subject: 'Your account has been locked')
端
端
在邮件视图:
嗨,
您的帐户已被锁定。编辑简介: “我的链接(edit_user_password_url(CURRENT_USER)”
当我经历这个过程中,我得到 “找不到路线” 错误而我的路线是。正确的。请帮助我。
如果我想使用像devise这样的重置密码令牌,有没有其他选择,或者我们可以在我的控制器方法中自定义? –
明白了..我刚刚删除了我的SiteMailer并添加了以下步骤:** current_user.send_reset_password_instructions ** –