Как я могу заново заполнить список в <div>после добавления в него элемента с помощью AJAX? - PullRequest
0 голосов
/ 20 июля 2010

В частности, у меня есть несколько страниц в приложении Rails, которые используют один и тот же частичный фрагмент. В обработчике действий для каждой страницы я создаю объект массива (например, @list_elements) на основе запроса к базе данных. Каждая страница использует свой запрос, так что на каждой странице есть разные элементы списка. В верхней части каждой страницы у меня есть form_remote_tag, содержащее поле редактирования, позволяющее пользователю добавлять новый элемент в динамическом стиле AJAXy (подумайте, что-то вроде «Что происходит» в Twitter).

Моя проблема в том, что когда запускается команда AJAX, мне нужно перезагрузить список, чтобы включить вновь добавленный элемент, но содержимое списка было определено запросом базы данных. Мне нужно вспомнить, какой запрос применяется к текущей странице (то есть действие контроллера), чтобы я мог запустить его снова. Я думал о сохранении чего-либо в структуре rails session, но это кажется излишним - это все равно, что хранить текущую страницу все время.

Кто-нибудь делал что-то подобное и есть хороший Railsy способ добиться этого?

Ben

1 Ответ

1 голос
/ 20 июля 2010

Не могли бы вы просто визуализировать частичное в вашем шаблоне rjs?

page[:div_element].replace_html :partial => 'partial'

Если вы выполните запрос и определите массив в действии контроллера, тогда ajaxвызов обновит этот массив.

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