Я тестирую службу удаленного обмена сообщениями и "считаю", что мне нужно отключить CSRF в jQuery, чтобы мой первоначальный удаленный тест был успешным.
Я уже отключил CSRF в контроллере приложений.
Если я отправляю POST через само приложение, обмен сообщениями работает, и в журнале моего сервера rails появляется следующий вывод:
Запущен POST "/ messages" для 127.0.0.1 в2011-05-07 10:49:29 -0400
Обработка MessagesController # создать как JS
Параметры: {"utf8" => "✓", "authenticity_token" => "xxx", "message" => {"content" => "damn"}, "commit" => "Send"}
SQL (0,1 мс) SELECT name
FROM sqlite_master
WHERE type = 'table' AND NOT name = 'sqlite_sequence '
AREL (0,5 мс) INSERT INTO "messages" ("content", "creation_at", "updated_at") VALUES (' damn ',' 2011-05-07 14: 49: 29.887582 ','2011-05-07 14: 49: 29.887582') Рендеринг messages / _message.html.erb (3,6 мс) Рендеринг сообщений / create.js.erb (8,2 мс) Выполнено 200 ОК за 133 мс (Просмотров: 17.0ms |ActiveRecord: 0,6 мс)
Если я отправлю следующую команду POST через cURL, я получу такой вывод:
curl -X POST -d 'message={"content":"lololol", "commit":"Send"}' http://localhost:3000/messages
Запущен POST "/ messages" для 127,0.0.1 в 2011-05-07 10:54:15 -0400
Обработка в MessagesController # создать как
Параметры: {"message" => "{\" content \ ": \" lololol \ ", \"commit \ ": \" Send \ "}"}
AREL (0,3 мс) INSERT INTO "messages" ("content", "creation_at", "updated_at") VALUES (NULL, '2011-05-07 14:54: 15.934156 ',' 2011-05-07 14: 54: 15.934156 ')
Предоставленные сообщения / _message.html.erb (0,5 мс)
Предоставленные сообщения / create.js.erb (4,2 мс)
Выполнено 200 OK за 309 мс (Просмотров: 28,1 мс | ActiveRecord: 0,3 мс)
Я вижу пустую запись на моей странице с отметкой времени, когда я запускаю команду cURL, и запись находится в процессесоздан в базе данных со всем, кроме содержимого.
Можно ли предположить, что причина этого в том, что CSRF в jQuery не позволяет опубликовать содержимое?Если да, то как его отключить?Или неправильно размещать cURL?или их смесь?
Заранее спасибо за любую помощь.