如何解决在Rails / Devise中删除帐户后重定向到视图
我是Rails的新手,我有一个页面,用户可以在其中使用button_to取消其帐户。但是,如何将用户重定向到另一个页面?例如,我想在删除他们的帐户后重定向到取消后的页面,说“再见”。
我试图查看是否有一个after_user_deletion devise方法可以覆盖,但是没有。
这是我在Devise注册下的编辑视图中的内容。
<div id="modal">
<p>Are you sure you want to cancel?</p>
<%= button_to "Yes",registration_path(resource_name),method: :delete%>
<button>No</button>
</div>
我不确定是否需要制造另一个控制器,但我确定了取消控制器。
class CancellationController < ApplicationController
before_action :authenticate_user!
def cancel
end
end
这是我在route.rb中所拥有的
Rails.application.routes.draw do
devise_for :users
root to: 'dashboard#index'
devise_scope :user do
get 'cancel' => 'cancellation#cancel'
end
end
这是耙路的内容:
解决方法
您需要在设备注册控制器上覆盖重定向:
# config/routes.rb
devise_for :users,controllers: { registrations: 'registrations' }
现在将指向您的控制器文件夹!因此,您需要创建自己的设计控制器:
# app/controllers/registrations_controller.rb
class RegistrationsController < Devise::RegistrationsController
# DELETE /resource
def destroy
# your own logic here,so you can redirect it after
end
def cancel
expire_data_after_sign_in!
redirect_to here_your_url
end
end
注意:您正在使用按钮上的DELETE
,它触发了销毁操作而不是取消操作,您可以检查设备控制器here。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。