2015-12-17 3 views
0

Я пытаюсь протестировать вход REST в приложение Rails 3. Я использую надстройку Firefox под названием RESTclient. Для статтеров я просто пытаюсь PUT (Обновить) один столбец в базе данных (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 

Рельсы Log:

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 = применение/JSON; charset = UTF-8 { "contact2": "Bart" }

Смежные вопросы