我一直試圖從POSTman中寫入常規的一個模型rails應用程序幾天,並且無法弄清楚如何去做,或者找到任何有關如何做到這一點。使用JSON API寫入Rails
我的應用程序有一個帶有名稱字段的用戶模型。我想要做的就是使用POSTman通過JSON遠程更改名稱。
任何有關如何做到這一點的幫助,我們都很感激,包括一個鏈接到如何做到這一點的基本資源。
我想這是非常基本的。
編輯:這裏是從郵遞員輸出截圖
編輯2:
從服務器日誌:
Started PUT "https://stackoverflow.com/users/1.json" for 127.0.0.1 at 2013-07-17 16:53:36 -0400
Processing by UsersController#update as JSON
Parameters: {"name"=>"Jeff", "id"=>"1"}
User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", "1"]]
(0.1ms) begin transaction
(0.1ms) commit transaction
Completed 204 No Content in 3ms (ActiveRecord: 0.4ms)
的交易發生,但記錄ISN實際上沒有更新。我需要改變控制器中的某些東西嗎?這只是一個普通的軌道生成控制器,沒有任何變化。
編輯3:
這裏是只是要http://localhost:3000/users/1.json
{
"created_at": "2013-07-02T21:51:22Z",
"id": 1,
"name": "Arel",
"updated_at": "2013-07-02T21:51:22Z"
}
同樣我的輸出,我從腳手架什麼都沒有改變,我一直無法弄清楚如何將JSON格式化爲嵌套在用戶之下,就像答案所示。
這裏是我的控制器的相關部分:
# GET /users/1
# GET /users/1.json
def show
@user = User.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @user }
end
end
# PUT /users/1
# PUT /users/1.json
def update
@user = User.find(params[:id])
respond_to do |format|
if @user.update_attributes(params[:user])
format.html { redirect_to @user, notice: 'User was successfully updated.' }
format.json { }
else
format.html { render action: "edit" }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
我不明白這是爲什麼這麼難。我只是想更新通過JSON的名稱...
到底是什麼問題哈希?你在rails服務器日誌中看到任何輸出嗎? – DiegoSalazar
它什麼都不做。當我放置地址http:// localhost:3000/users/1.json並選擇PUT時,鍵名稱和值爲Jeff 204,不返回內容 – Arel
@diego。greyrobot我剛剛添加了我一直在嘗試做的截圖。 – Arel