Как отправить несколько моделей на рельсы, используя flex? - PullRequest
0 голосов
/ 15 января 2009

Я пытаюсь отправить запрос на создание и обновление на рельсы, используя flex с несколькими моделями. Например, представьте, что у нас есть пост в блоге и несколько комментариев.

Пользователь приходит и обновляет сообщение и некоторые комментарии, когда он нажимает на кнопку «Отправить», я хочу отправить все обновления.

Если я отправлю что-то вроде:

var params: Object = new Object ();

params ["post [text]"] = myPostText;

params ["post [userid]"] = myPostUserId;

Тогда я могу отправить массив с комментариями: var ar: Array = ["comment 1", "Comment 2"]; params ["post [comments]"] = ar;

Это работает без проблем (избегая проблем с несколькими атрибутами, имеющими одинаковое имя).

Но моя проблема в том, что для комментариев мне нужно предоставить несколько атрибутов. Предположим, что для каждого комментария мне нужно указать рейтинг, который я пытался сделать (псевдокод):

var ar: Array = new Array ();

за каждый комментарий c {

ar.push ({"text": c.text, "rank": c.rank});

}

params ["post [comments]"] = ar;

Это не работает, потому что для каждого комментария параметры хеша на стороне rails будут содержать строку "[объект объекта]".

Кто-нибудь знает способ отправки нескольких моделей flex на рельсы?

Ответы [ 2 ]

0 голосов
/ 05 августа 2010

Вы пробовали RubyAMF вместо XML?

0 голосов
/ 11 января 2010

На самом деле у меня это есть. Забудьте об использовании этих параметров объектов и используйте только XML, это проще, чем эти объекты параметров, и вы можете иметь один способ сериализации ваших flex-объектов.

Используя XML, вам просто нужно построить его с вложенными объектами (как для вас делает rails).

Единственная проблема в том, что вы не можете использовать слишком много RESt с flex, потому что flex не поддерживает все операции HTTP, поэтому для выполнения обновления я сделал обходной путь и создал метод flex_update для application_controller, который вызывается с использованием POST во время обновления этот метод просто вызывает метод обновления по умолчанию, и все работает нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...