2014-09-22 3 views
2

Я пытаюсь, чтобы администратор удалял других пользователей. Когда я пытаюсь удалить другой путь регистрации пользователей, он удаляет администратора. Я видел несколько других сообщений с одной и той же проблемой, но не смог ее воспроизвести.Как администратор может уничтожить других пользователей? Devise CanCanCan

Это 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 (админы) удаляются вместо пользователя, который я звоню удаление метод на?

+0

Почему у пользователя 'user_registration_path' есть метод delete? Не могли бы вы отправить соответствующее действие контроллера для удаления? – Allerin

+1

Если вы используете маршруты по умолчанию ** Devise **, то ваша ссылка должна быть: 'link_to user, method:: delete, data: {подтвердить:« Вы уверены? » } do' –

+0

@JustinLicata Я пробовал это, но он дал мне неопределенный метод user_path ... – Joel

ответ

2

Похоже, вы используете Devise как метод auth для своих пользователей. Хотя в разработке будут созданы маршруты для аутентификации/регистрации (и даже для создания собственной учетной записи), он не создает обычный контроллер REST для модели пользователя.

Я хотел бы предложить, чтобы создать новый UsersController, с обычным индексом, шоу, удаление, обновление, создание и т.д., а также регулярный маршрут

resources :users 

и использовать этот контроллер для удаления других пользователей , Таким образом, у вас может быть

<%= link_to @user, method: :delete, confirm: 'Are You Sure?' %> 
Смежные вопросы