Я хочу сделать что-то довольно простое. Нажмите кнопку на моей html-странице javascript, которая отправляет данные на сервер с помощью метода AJAX Post. Сервер использует данные, отправленные методом POST, для создания XML-файла, который он затем отправляет обратно пользователю, чтобы они могли его сохранить.
Мои знания ruby на рельсах очень ограничены, и я смотрел учебники, но ни один из них, кажется, не объясняет, как просто обрабатывать POST-запросы. Мне не нужно ничего изменять на самой HTML-странице, поэтому вся HTML-страница статична, а часть отправляемых данных выглядит следующим образом:
//data is a huge string already xml > 1mb
xmlhttp=new XMLHttpRequest();
xmlhttp.open('POST', "http://localhost:3000/xmlsave", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send(data);
В rails 3.0 я / xmlsave перенаправлен на действие в контроллере, который я сделал:
class MyController < ApplicationController
def xmlsave
#Read data sent with POST and put it in generated xml file and send to user
end
end
Если я даже делаю это правильно, может кто-нибудь объяснить мне или указать мне в правильном направлении, что мне нужно поместить в метод xmlsave:
- Чтение данных, отправленных с помощью AJAX POST
- Создайте файл XML из строки данных, которая уже является XML. Просто скопируйте ее, вставьте в содержимое файла XML, который я хочу отправить обратно
- Отправить xml-файл пользователю (send_file?)
Я прошу прощения, если то, что я пытаюсь сделать, просто странно или у меня совершенно неверное представление. Большинство учебных пособий, которые я прочитал, идут в направлении создания партиалов, используемых для редактирования частей HTML-страницы, которую пользователь уже просматривает, а я этого не хочу. Кажется, что ни одно из учебных пособий, которые я читаю, не объясняет точно, куда отправляются запросы, куда направляются данные и куда я должен вызывать функции и т. Д.
Спасибо.