Я делаю простое приложение, которое имеет только два вида пользователей: Admin и SimpleUser. Я хочу, чтобы мой Gemfile содержал как можно меньше драгоценных камней без каких-либо помощников, таких как 'devise'.
Я пытался создать собственный контроллер для обработки обновления профиля пользователя, но, насколько я знаю, это не подход RESTful, который не подразумевает, что пользовательские параметры будут обрабатываться другим контроллером.
Итак, что должны делать профили:
SimpleUser:
- получить URL localhost: XXXX / profile для редактирования настроек профиля
- не сможет получить другие маршруты для редактирования страницы, такие как "/ users / 7 / edit", даже если у него есть идентификатор 7
- не сможет редактировать другие страницы через "/ users /: id / edit"
Администратор:
- получить url localhost: XXXX / profile для редактирования настроек личного профиля
- получить URL для редактирования любого пользователя через "/ users /: id / edit"
Сейчас я выполнил все требования администратора и только первый и третий для SimpleUser. Как я могу отклонить указание пути к пользователю "/ user / user_id / edit", но при этом предоставить ему "/ profile", возможно ли это без обработки и перенаправления URL-адреса?
P.S Я не прошу кусок кода, я просто хочу знать возможные варианты, как это делается с ruby на рельсах