1

我按照本教程(以及其他)从头开始为我的 Rails 应用程序构建了身份验证系统。

一切都按预期工作,但用户仍然很容易破坏自己的帐户(以及其中包含的所有数据):

class UsersController < ApplicationController

  def destroy
    @user.destroy
    flash[:success] = "Your account has been deleted."
    redirect_to root_path
  end

end

现在,我认为这是edit

<%= link_to "Delete own account", @user, :confirm => "Are you REALLY sure?", :method => :delete %>

在她/他可以销毁自己的帐户之前,Rails 扩展此功能并要求用户输入密码的方法是什么?

谢谢你的帮助。

4

1 回答 1

2

您将不得不为此添加一些逻辑。

按照这个:

  1. 在/(您想要的任何页面form_for)上创建一个表单*using ,询问登录用户的密码。将表单路由到某个操作。destroy
  2. 在发送的动作中,根据提供的密码对用户进行身份验证;如果匹配,则调用@user.destroy,否则,flash错误和警告等。
于 2013-10-20T19:26:55.660 回答