Я занимаюсь разработкой простого приложения для iOS, которое использует приложение Rails в качестве серверного бэкэнда.Я использую фреймворк Restkit для управления сетью / запросами сервера, и на iOS все вроде бы нормально.
Когда я делаю PUT-запрос, я получаю ответ 200 назад и логив XCode вроде бы все хорошо.Когда я смотрю журналы для приложения Rails, мне кажется, что все хорошо, со следующим выводом:
2011-12-19T18:15:17+00:00 app[web.1]: Started PUT "/lists/3/tasks/6" for 109.156.183.65 at 2011-12-19 18:15:17 +0000
2011-12-19T18:15:17+00:00 app[web.1]: Parameters: {"created_at"=>"2011-12-12 22:37:00 +0000", "id"=>"6", "updated_at"=>"2011-12-12 22:37:00 +0000", "description"=>"Create a home page", "list_id"=>"3", "completed"=>"1"}
2011-12-19T18:15:17+00:00 app[web.1]: Task Load (4.3ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT 1 [["id", "6"]]
2011-12-19T18:15:17+00:00 app[web.1]: Processing by TasksController#update as JSON
2011-12-19T18:15:17+00:00 app[web.1]: (4.7ms) BEGIN
2011-12-19T18:15:17+00:00 app[web.1]: (1.5ms) COMMIT
2011-12-19T18:15:17+00:00 app[web.1]: Completed 200 OK in 48ms (Views: 1.1ms | ActiveRecord: 16.0ms)
2011-12-19T18:15:17+00:00 heroku[nginx]: 109.156.183.65 - - [19/Dec/2011:10:15:17 -0800] "PUT /lists/3/tasks/6 HTTP/1.1" 200 154 "-" "TaskM8/1.0 CFNetwork/485.13.9 Darwin/11.2.0" taskm8.com
2011-12-19T18:15:17+00:00 heroku[router]: PUT taskm8.com/lists/3/tasks/6 dyno=web.1 queue=0 wait=0ms service=114ms status=200 bytes=154
Однако, когда я делаю другой запрос get или использую стандартные веб-представления дляпосмотрите на данные, изменение, которое я ожидал от запроса PUT (Completed = 1 - это поле BOOL), никаких изменений не было.
Я вижу из журнала rails, что мое приложение для iOSпередавая правильные параметры, так что, кажется, что-то на стороне рельсов.Я прошел через цикл преодоления сообщения об ошибке CSRF, так что не думайте, что это так.
В локальной версии приложения rails я также запустил общую регистрацию в базе данных MySql для мониторингазапросы выполняются, пытаясь увидеть, что PUT что-то делает вообще, или что-то, что не получится ... в журнале вы не видите ничего, кроме:
BEGIN
COMMIT
Так же, какжурнал рельсов.
Итак, кто-нибудь имеет представление о том, почему PUT не вносит изменения в данные или как я могу отлаживать PUT дальше?
Извинения, если это реальнопростой вопрос, я медленно возвращаюсь к разработке и немного заржавел!