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 ** –