当用户尝试在我的网站上删除他们的帐户时,我希望他们填写表单以说明他们离开的原因。当他们点击提交按钮时,我基本上需要执行两个操作。需要提交表单的内容,并且需要删除用户帐户。我怎样才能做到这一点?我正在使用Devise。
设计摧毁行动如下所示:
def destroy
resource.destroy
Devise.sign_out_all_scopes ? sign_out : sign_out(resource_name)
set_flash_message! :notice, :destroyed
yield resource if block_given?
respond_with_navigational(resource){ redirect_to after_sign_out_path_for(resource_name) }
end
我提交表单的行为如下(表单实际发送电子邮件)
def create
@delete_form = DeleteForm.new(params[:delete_form])
@delete_form.request = request
@delete_form.deliver
end
根据我的理解发送表单的参数,我需要它作为POST请求但是要删除用户帐户我需要它作为DELETE请求。我如何设计这个以便表单被提交(邮件发送)然后帐户被删除?
答案 0 :(得分:0)
首先,没有重定向到DELETE ACTION
所以,应该如何: -
`
if @user_post.save
User.find(current_user).delete
redirect_to :sign_in,notice: "Thank you for your reply."
end
您也可以尝试sign_out_and_redirect设计助手。