如何在Rails应用程序中使用用户密码验证帐户终止?

时间:2013-10-20 19:22:39

标签: ruby-on-rails ruby ruby-on-rails-3

我在this tutorial之后从头开始为我的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方式扩展这个并且在他/她可以销毁自己的帐户之前需要用户的密码?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

你必须为此添加一些逻辑。

按照:

  1. 使用form_for创建表单 * destroy /(无论您想要哪个页面),询问已登录用户的密码。 将表单路由到某个操作。
  2. 在已发送的操作中,验证用户提供的密码;如果匹配,请拨打@user.destroy,否则,flash出现错误和警告等。