Я хочу использовать создать учетную запись пользователя, используя почтальон, рельсы 5 и драгоценный камень devise.Я добавил поле имени пользователя в модель устройства devise и подтвердил, что оно работает нормально.Однако когда я отправляю запрос на публикацию в Rails API, он не создает пользователя, как ожидалось.Вот как проходит процесс:
Я отправляю этот запрос JSON на URL-адрес: http://0.0.0.0:3000/users/
{
"username": "username",
"email": "name@example.com",
"password": "password",
"password_confirmation": "password"
}
При отправке этого запроса я получаю следующий ответ:
{
"status": "ERROR",
"message": "Could not create new user account",
"data": {
"email": [
"can't be blank"
],
"password": [
"can't be blank"
]
}
}
Я создал еще один контроллер регистрации, который наследуется от Devise :: RegistrationController.Вот оно:
1 module Api
2 module V1
3 class RegistrationsController < Devise::RegistrationsController
4
5 before_action :configure_permitted_parameters
6 respond_to :json
7 def new
8 user = User.new(user_params)
9 end
10
11 def create
12 user = User.create(username: params[:username],
13 email: params[:email],
14 password: params[:password],
15 password_confirmation: params[:password_confirmation])
16
17 if user.save
18 render json: {status: "SUCCESS", message: "Created new user account", data: user }, status: :ok
19 else
20 render json: {status: "ERROR",
21 message: "Could not create new user account",
22 data: user.errors},
23 status: :unprocessable_entity
24
25 end
26 end
27
28 private
29
30 def user_params
31 params.require(:user).permit(:username, :email, :password, :password_confirmation)
32 end
33
34 protected
35
36 def configure_permitted_parameters
37 devise_parameter_sanitizer.permit(:sign_up, keys: [:username])
38 end
39
40 end
41 end
42 end
Есть идеи, почему я получаю этот ответ и как его исправить?Я извлекаю письмо и пароль из хэша params
и передаю их в функцию создания.Я не знаю, почему в ответе говорится, что он пуст