# coding: utf-8

Глава 10 Обновление, демонстрация, и удаление пользователей

В этой главе мы завершим REST действия для ресурса Users (Таблица 6.2) добавив edit, update, index, и destroy действия. Мы начнем с того, что дадим пользователям возможность обновлять свои профили, что также обеспечит естественную возможность для обеспечения модели безопасности (стало возможным, благодаря аутентификационному коду из Главы 9). Затем мы сделаем список всех пользователей (также требует аутентификации), что будет поводом для внедрения выборки данных и постраничного вывода (пагинации). Наконец, мы также добавим возможность удалять пользователей, стиранием их в базе данных. Так как мы не можем позволить любому пользователю обладать такими опасными возможностями, мы позаботимся о создании привилегированного класса административных пользователей (администраторов).

Начнем с создания новой updating-users темы ветки:

$ git checkout -b updating-users

10.1 Обновление пользователей

Основная идея редактирования информации о пользователе тесно параллельна созданию новых пользователей (Глава 8). Вместо new действия визуализирующего представление для нового пользователя, мы имеем edit действие, отображающее представление для редактирования пользователей; вместо create отвечающего на запрос POST, мы имеем update действие, отвечающее на запрос PUT (Блок 3.1). Основное отличие заключается в том, что зарегистрироваться может любой человек, но только текущий пользователь должен иметь возможность обновлять свою информацию. Это означает, что нам необходимо обеспечить контроль доступа таким образом, чтобы только авторизированные пользователи могли редактировать и обновлять информацию; аутентификационная машинерия из Главы 9 позволит нам использовать before filter для обеспечения этого вида контроля.

# coding: utf-8