У меня типичные маршруты RESTful для пользователя:
/user/:id
/user/:id/edit
/user/:id/newsfeed
Однако маршрут /user/:id/edit
может быть доступен только тогда, когда id равен идентификатору current_user. Поскольку я хочу, чтобы current_user имел доступ к редактированию своего профиля. Я не хочу, чтобы другие пользователи могли редактировать профили, которые не принадлежат им.
Как правило, лучше всего справиться с этой ситуацией?
Должен ли я оставить маршрут как есть, и через ошибку, если current_user.id != param[:id]
, заставляя клиентского интерфейса, вызывающего api, отслеживать зарегистрированный идентификатор пользователя?
Должен ли я сделать специальный маршрут /user/self/edit
и в контроллере проверить, есть ли param[:id] == 'self'
?