我正在尝试使用Devise来删除用户.我有一个用户列表,每个用户都有他们的电子邮件和旁边的“删除”链接,只有我,管理员才能看到.我希望能够只需单击删除链接即可永久删除用户.以下代码删除了我,管理员!
<%= link_to "delete",user_registration_path,:method => :delete,:confirm => "You sure?" %>
我认为你需要将你要删除的用户的id传递给某种’destroy_user’方法:
@user.find(params[:id]).destroy_user
但是当你必须向user_registration_path提交DELETE请求时,你如何做到这一点?
——编辑——–
def destroy User.find(params[:id]).destroy flash[:success] = "User destroyed." redirect_to users_path end
因此,我需要告诉用户控制器在收到DELETE请求时调用destroy方法.你是如何在routes.rb中做到这一点的?目前我有:
match '/users/:id',:to => 'users#show',:as => :user match '/all_users',:to => 'users#index',:as => :all_users
我需要这样的东西:
match 'delete_user',:to => 'users#destroy',:as => :destroy_user,:method => :delete
但这不起作用.什么应该在链接?:
<%= link_to "delete",destroy_user,:confirm => "You sure?" %>