Пользовательские ресурсы для REST API - PullRequest
0 голосов
/ 30 апреля 2018

Я использую камень devise для rails.

Маршруты по умолчанию, созданные для пользователей, включают некоторые из следующих маршрутов:

    new_user_password GET    /users/password/new(.:format)                                                            devise/passwords#new
   edit_user_password GET    /users/password/edit(.:format)                                                           devise/passwords#edit
        user_password PATCH  /users/password(.:format)                                                                devise/passwords#update
                      PUT    /users/password(.:format)                                                                devise/passwords#update
                      POST   /users/password(.:format)                                                                devise/passwords#create

Я пытаюсь понять, почему они не использовали /users/:id/password и т. Д .?

Например, я добавляю маршрут пользователя preference. Я могу следовать той же логике и сделать что-то вроде /users/preferences, но мне кажется, что это должно быть /users/:id/preferences в зависимости от зарегистрированных пользователей. Тем не менее, я пытаюсь сохранить все аналогичным, и devise уже устанавливает прецедент, если я не изменю его.

1 Ответ

0 голосов
/ 30 апреля 2018

Вы можете сделать /users/:id/preferences. Но params[:user_id] будет (предположительно) равным current_user.id. Так что это немного избыточно.

Вместо этого вы можете просто набрать /users/preferences и получить доступ к id с current_user. (Который, если вам нравятся такие вещи, скрывает идентификатор текущего пользователя, не включая его в URL.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...