2013-04-27 21 views
2

我正在編寫一個Chrome擴展,我想與我的Rails API進行交流。通過Chrome擴展在JS中向我的Rails API發出基本請求

A user有一個emailpassword它。

現在我users_controller看起來是這樣的:

def create 
    @user = User.new(params[:user]) 

    if @user.save 
     render json: @user, status: :created, location: @user 
    else 
     render json: @user.errors, status: :unprocessable_entity 
    end 
    end 

而在Chrome的控制檯,我測試了一些創建像

$.post('http://localhost:3000/users', "[email protected]");

這回動作:

{ 
user: { 
created_at: "2013-04-27T18:11:57Z", 
email: null, 
id: 2, 
password: null, 
updated_at: "2013-04-27T18:11:57Z" 
} 
} 

關於如何擊中我的API和c的任何建議是否需要新用戶?

謝謝!

回答

0

您可能需要提供一個帶有鍵/值對的JavaScript對象,該對象表示要在服務器上構建的用戶模型的屬性。試試這個:

$.post('http://localhost:3000/users', {email: "[email protected]"}); 

編輯:如果不是在你的Rails控制器啓用parameter wrapping有你,你將需要明確包你與user鍵POST請求發送參數:

$.post('http://localhost:3000/users', {user: {email: "[email protected]"}}); 
+0

當我在瀏覽器中查看/ users的JSON時,我一直收到email:null和password:null。任何想法爲什麼? – 2013-04-28 15:35:04

+0

您可能沒有在控制器中打開參數環繞。你可以粘貼你的控制器代碼並顯示控制檯輸出中的「params」散列內容嗎? – 2013-04-28 16:59:58

+0

控制器代碼在上面的文章中,這是Rails中的創建動作的全部內容 – 2013-04-28 23:57:03

相關問題