2016-09-15 68 views
0

我正在通過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這樣

enter image description here

但是當我點擊發送我有錯誤,因爲它無法通過我的驗證這樣

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 

那麼,怎樣才能讓我的郵差工作的? 似乎服務器無法讀取我的用戶名,全名和成績記錄。

謝謝!

+0

您是否嘗試將用戶作爲外層JSON對象發送? – Adam

+0

在postman的body部分設置參數,如這個用戶[:email]的值 – Navin

+0

@AdamRosini你有什麼樣的例子嗎? – user3403614

回答

0

你必須通過一個發送的郵遞員一個主體部分參數像波紋管

user[:email] "[email protected]" // then in next line 
user[:password] 123456 

你必須通過新的請求參數每條記錄,然後點擊發送按鈕

+0

我通過形式數據傳遞體內的數據,就像你做了什麼,但它仍然無法正常工作。我得到了'ActionDispatch :: ParamsParser :: ParseError' – user3403614

0

嘗試張貼您的用戶像這樣:

{ 
    "email": "[email protected]", 
    "password": "123456", 
    "password_confirmation": "123456", 
    "username": "yofoyf", 
    "fullname": "narotuo sarp", 
    "grade": "aaa" 
} 
+0

不工作,似乎它需要:用戶通行證。 – user3403614