RestfulX - безусловно, лучший способ сделать это с Rails:).
Посмотрите их классные примеры , чтобы начать работу, это займет 5 минут.Вы можете создать приложение на основе моделей (например, Страница / Пост / Комментарий / Категория ...), которые будут выглядеть следующим образом:
(source: github.com )
В основном вы запускаете 3 команды и у вас есть полная CMS.И, по умолчанию, все происходит через XML, но он преобразуется (сериализуется и десериализуется) в и из XML, поэтому вы можете использовать объекты класса в ActionScript.Вы можете легко изменить это на AMF / JSON, если вам нужно, что очень мощно.Затем вы можете настроить все оттуда: создать класс (MyVideo), добавить свойства (заголовок, URL, описание, комментарии), манипулировать ими в ActionScript, а затем просто создать / обновить / уничтожить / сохранить / показать, и он обрабатывает всеxml-запросы к / от Rails.
Они решили такие сложные вещи, как аутентификация и управление сессиями, загрузка файлов, вложенные наборы и списки и т. д., с которыми вы, вероятно, уже столкнулись или будете.Это очень круто.
Все работает через REST (и CRUD операции), которые Rails использует в полной мере.Если вы просто хотите использовать ruby (а не Rails), вы можете сделать это без проблем.Или, если вы просто хотели использовать Flex и без бэкэнда, но все же хотели читать / писать XML, не создавая целую библиотеку для обработки того же самого;они справляются со всем этим.
Вы просто делаете:
Rx.models.index(Project)
(если у вас класс my.package.Project
), и он возвращает:
<?xml version="1.0" encoding="UTF-8"?>
<projects type="array">
<project>
<completed type="boolean">false</completed>
<created_at type="datetime">2008/07/09 20:08:28</created_at>
<end_date type="date">2008/07/09</end_date>
<id type="integer">490909803</id>
<name>Project4NameString</name>
<notes>Project4NotesText</notes>
<start_date type="date">2008/07/09</start_date>
<updated_at type="datetime">2008/07/09 20:08:28</updated_at>
<user_id type="integer">276171944</user_id>
</project>
</projects>
Затем, если вы хотите сохранить (или удалить), вы просто сделаете что-то вроде:
var projects:IList = Rx.models.index(Project);
var project:Project = projects.getItemAt(0); // first item in IList;
project.title = "My New Title!";
project.save();</p>
<p>// then later, maybe onClick for a Button with label "Delete Project"...
project.delete();
Это, безусловно, лучшая библиотека для обработки XML.И у них есть очень активная группа , что является плюсом.
Я видел, как вы задали этот вопрос о написании XML через Flex .Вы столкнетесь с множеством крайних случаев.Попробуйте RestfulX, он очень болен.
Надеюсь, это поможет.