我在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方式扩展这个并且在他/她可以销毁自己的帐户之前需要用户的密码?
感谢您的帮助。
答案 0 :(得分:2)
你必须为此添加一些逻辑。
按照:
form_for
创建表单 * destroy
/(无论您想要哪个页面),询问已登录用户的密码。 将表单路由到某个操作。@user.destroy
,否则,flash
出现错误和警告等。