2015-12-17 57 views
0

我正在嘗試將REST輸入測試到Rails 3應用程序中。我使用名爲RESTclient的Firefox插件。對於州議員,我只是試圖把(更新)數據庫中的一列(contact2 =「Bart」)。Rails REST使用Firefox RESTclient

我回來200,但列不會在數據庫得到更新和響應顯示欄仍包含「Mary2」

這裏有一個圖:

enter image description here

這是控制器:

# PUT /workorders/1 
    # PUT /workorders/1.json 
    def update 
    @workorder = Workorder.find(params[:id]) 

    respond_to do |format| 
     if @workorder.update_attributes(params[:workorder]) 
     format.html { redirect_to @workorder, notice: 'Workorder was successfully updated.' } 
     format.json { render json: @workorder } 
     else 
     format.html { render action: "edit" } 
     format.json { render json: @workorder.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

滑軌日誌:

Started PUT "/workorders/56673.json" for 127.0.0.1 at 2015-12-17 14:40:30 -0700 
    [1m[35mWostatus Load (0.2ms)[0m SELECT "wostatuses".* FROM "wostatuses" ORDER BY position ASC LIMIT 1 
Processing by WorkordersController#update as JSON 
    Parameters: {"id"=>"56673"} 
WARNING: Can't verify CSRF token authenticity 
    [1m[36mWorkorder Load (0.3ms)[0m [1mSELECT "workorders".* FROM "workorders" WHERE "workorders"."id" = $1 LIMIT 1[0m [["id", "56673"]] 
    [1m[35m (0.1ms)[0m BEGIN 
    [1m[36m (0.1ms)[0m [1mCOMMIT[0m 
Completed 200 OK in 143ms (Views: 0.8ms | ActiveRecord: 0.5ms) 

是否發送參數「contact2」?

+0

好的。你採取了哪些步驟來進行調試?你在Rails日誌中看到了什麼?是否調用了正確的控制器操作?它是否收到你期望的參數?你的控制器代碼是什麼樣的?您的控制器中的變量是否具有您期望的每一行的值?你期望被調用的方法是你期望採用的'if' /'else'分支嗎?你如何測試數據庫是否已更新?你確定你正在獲取相同的記錄,並且你正在查看的數據是最新的嗎? –

+0

我更新了我的問題。另外,我正在用PGAdmin來查看數據庫,看它是否得到更新。另外,RESTclient顯示響應 - 其中包含更新記錄的json。 – Reddirt

回答

0

我知道它使用Wiztools RESTclient。

我不得不使用:

Body = application/json; charset = UTF-8 { 「contact2」:「Bart」 }