我正在通過Ruby on Rails創建新的api應用程序。 所以我使用Devise
來管理我的用戶表。無法通過Postman在Rails api上創建新的用戶記錄
問題當我通過郵遞員發送請求測試api時,它無法通過我的模型驗證。
所以這是我的控制器
class UsersController < ApplicationController
respond_to :json
def create
user = User.new(user_params)
if user.save
render json: user, status: 201, location: [:my, user]
else
render json: { errors: user.errors }, status: 422
end
end
private
def user_params
params.require(:user).permit(:email, :password, :password_confirmation,:username,:fullname,:grade)
end
end
這是我通過郵差
{
"user" : {
"email": "[email protected]",
"password": "123456",
"password_confirmation": "123456",
"username": "yofoyf",
"fullname": "narotuo sarp",
"grade": "aaa"
}
}
發送到服務器的數據,我也設置頁眉爲應用程序/ JSON這樣
但是當我點擊發送我有錯誤,因爲它無法通過我的驗證這樣
Sign up
3 errors prohibited this user from being saved:
Username can't be blank
Grade can't be blank
Fullname can't be blank
這是我的模型
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
validates :username, presence: true ,uniqueness: true
validates :grade, presence: true
validates :fullname, presence: true
end
那麼,怎樣才能讓我的郵差工作的? 似乎服務器無法讀取我的用戶名,全名和成績記錄。
謝謝!
您是否嘗試將用戶作爲外層JSON對象發送? – Adam
在postman的body部分設置參數,如這個用戶[:email]的值 – Navin
@AdamRosini你有什麼樣的例子嗎? – user3403614