我已经创建了允许用户从我的应用中删除其帐户的功能。但是,最后,我正在尝试自动记录用户OUT,这会将他们发送回登录页面。
我尝试了各种我认为可行的方法,但是我的控制器抛出一个错误,说我没有控制器方法的视图:
缺少模板订阅/ cancel_subscription
def cancel_subscription
...a bunch of code that clears out the user's info
redirect_to destroy_user_session_path
end
我正在使用Devise
,因此路由是默认的:
new_user_session GET /login(.:format) devise/sessions#new
user_session POST /login(.:format) devise/sessions#create
destroy_user_session GET /logout(.:format) devise/sessions#destroy
如何自动登录用户,因为他们实际上不再拥有任何帐户数据?
答案 0 :(得分:0)
def cancel_subscription
#code to cancel
sign_out current_user
redirect_to new_user_session_path
end
在cancel_subscription
答案 1 :(得分:0)
这个答案是否有助于您的情况:Sign out a devise session from custom controller action (Rails)
设计提供了sign_out
方法。一旦您将用户签名,您就可以使用有效模板(root等)将其重定向到正确的操作。
希望有所帮助。