Sto utilizzando Devise per l'autenticazione nel mio servizio API RESTFul Rails. Devise mi permette di creare un nuovo utente utilizzando [POST] http://domain/users
con form_data:Rails: dopo aver definito percorsi di deviazione nello spazio dei nomi, il nome del modello è preceduto dallo spazio dei nomi. Come rimuoverlo?
[user]password = 123
[user]email = [email protected]
[user]password_confirmation = 123
poi ho messo devise_for
nel namespace come questo
namespace :api do
namespace :v1 do
devise_for :users,
controllers: {
:registrations => 'api/v1/registrations',
:sessions => 'api/v1/sessions',
:passwords => 'api/v1/passwords'
}
end
end
La struttura dei file di controller simile a questo.
.
├── api
│ └── v1
│ ├── passwords_controller.rb
│ ├── registrations_controller.rb
│ └── sessions_controller.rb
├── application_controller.rb
Dopo che ho fatto questo cambiamento, dovrei usare [POST] http://domain/api/v1/users
per creare un nuovo utente, ma con la seguente form_data
[api_v1_user]password = 123
[api_v1_user]email = [email protected]
[api_v1_user]password_confirmation = 123
Non voglio il nome del modello (cioè utente) a essere prefisso da api_v1_. Perché se un giorno avessi cambiato la mia versione api su v2, allora dovrò aggiornare tutte le mie chiamate API lato client!
Qualche idea?
Grazie, questo funziona davvero! –