| 2008-10-03 15:33:17 | Ответить |
|---|---|
|
igoRor Адрес: Сообщений: 5 Регистр: 2008-06-10 его блог 0 сообщ. |
Отрендеренные данные полученные с AJAX (page.replace_html) при обновлении страницы |
|
Что имею:
Вывожу список объектов @my_objs.each do |o| -div id="element + o.id.to_s "- -/div- end с AJAX открываю элементы из которых они состоят. page.replace_html( 'element' + $select_id, :partial=>'list_item', :object=>@my_obj ) все отлично работает. В чем проблема: Но если сделать апдейт страницы по F5 или когда перегружается страница поcле отправки формы то что я выводил из list_item уже нет на странице. Попытался решить ее так. после загрузки страницы вызываю функцию: -body id="body" onload="remote_function( :url=>{ :action=>'fill_data_in_open_group' } ) "- У меня есть список открытых элементов и пытаюсь отрендерить открытые элементы: def fill_data_in_open_group() render :update do |page| @list_open_elements.each do |opn | @my_open_elm = CrdBorrower.find( :first, :conditions=>[ "id = ? ", opn.id ] ) page.replace_html( 'element' + opn.id.to_s, :partial=>'list_item', :object=>@my_open_elm ) end end end не работает, выпадает javascript alert: RJS error: TypeError: $(element).style is undefined Element.show(["e", "l", "e", "m", "e", "n", "t", "1", "6", "8"]); Element.update(["e", "l", "e", "m", "e", "n", "t", "1", "6", "8"], .... Код я сократил конечно, но странно, что все стринги-операнды в раилс командах именно в этой функции, воспринимаются как array. Насильно перевожу их в стрингу .to_s - ошибки пропадают, но падает на javascript Этот же код, но без итератора each работает нормально Стоит: Ubuntu 7.10 Ruby-enterprise-1.8.6-20080810 RAILS_GEM_VERSION = '2.1.0' Apache2.2.4 /Phusion Passenger2.0.3 Может есть другие варианты сохранения данных вставленных через page.replace_html при обновлении страницы Или как вставить несколько нтмл блоков с помощью page.replace_html за один раз С уважением, Igorok |
|
| rails, ajax, page.replace_html |
| 2008-10-08 15:21:42 | Ответить |
|---|---|
|
igoRor Адрес: Сообщений: 5 Регистр: 2008-06-10 его блог 0 сообщ. |
RE: Отрендеренные данные полученные с AJAX (page.replace_html) при обновлении страницы |
|
Наверно, вопрос сформулировал не очень понятно.
Покопался с кодом и решил проблему... в page.replace_htm и page.show все стринговые параметры принудительно перевожу еще раз в стринг- page.show mystring.to_s |
|