我正在尝试让管理员用户删除其他用户。当我尝试删除其他用户注册路径时,它会删除管理员。我看过其他一些帖子有同样的问题,但还是无法复制它。
这是all_users.html.erb:
<h2 class="admin">All Users</h2>
<table class="table table-striped">
<tbody>
<thead>
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Cell Phone</th>
<th>Login Method</th>
<th>Delete User</th>
</tr>
</thead>
<tr>
<% @users.each do |user| %>
<td><%= user.first_name %></td>
<td><%= user.last_name %></td>
<td><%= user.cell_phone %></td>
<td><%= user.sprovider %></td>
<td><%= link_to user_registration_path, data: {confirm: "Are you sure?"}, method: :delete do%>
<span class="fa fa-trash-o"></span>
<% end %></td>
</tr>
<% end %>
</tbody>
</table>
为什么删除current_user(admin)而不是我正在调用delete方法的用户?
答案 0 :(得分:2)
您似乎正在使用Devise作为用户的身份验证方法。虽然设计将创建用于身份验证/注册的路由(甚至是自我帐户描述),但它不会为User模型创建常规REST控制器。
我建议创建一个新的UsersController,包括常规索引,显示,删除,更新,创建等,以及常规路径
resources :users
并使用该控制器删除其他用户。那样你就可以有一个合适的
<%= link_to @user, method: :delete, confirm: 'Are You Sure?' %>