我正在尝试添加链接,以便用户可以销毁他/她自己的帐户.我正在使用内置注册类.
在我看来,我有<%= link_to'Destroy',current_user,:confirm => “您确定要销毁自己的帐户吗?”,:method => :删除%>以示例的方式指向localhost:3000 / users / 4
首先,是使用正确的链接吗?
其次,如何重定向到根路径,因为目前看起来它试图重定向到id为4的用户(并且因为它受到保护而失败).
Rake路由提供DELETE /users(.:format){:action =>“destroy”,:controller =>“devise / registrations”}
提前致谢.
解决方法
尝试
<%= link_to 'Destroy',user_registration_path,:confirm => 'Are you sure you want to destroy your account?',:method => :delete %>
这是因为设计对待注册为Singular Resource.
此外,运行rake路线,您可以看到有关注册路由的详细信息:
user_registration POST /users(.:format) {:action=>"create",:controller=>"devise/registrations"} new_user_registration GET /users/sign_up(.:format) {:action=>"new",:controller=>"devise/registrations"} edit_user_registration GET /users/edit(.:format) {:action=>"edit",:controller=>"devise/registrations"} user_registration PUT /users(.:format) {:action=>"update",:controller=>"devise/registrations"} user_registration DELETE /users(.:format) {:action=>"destroy",:controller=>"devise/registrations"}
它的意思是:
> user_registration_path是一个返回/users(.format)的辅助方法>对/users(.format)执行DELETE请求将删除注册