Обновление страницы без update_page и rjs

#ruby-on-rails #ruby-on-rails-3 #ruby-on-rails-3.1

#ruby-on-rails #ruby-on-rails-3 #ruby-on-rails-3.1

Вопрос:

Итак, поскольку все это об использовании UJS и RJS удалено из rails 3.1, мне интересно, как я буду обновлять относительно большой объем html на странице. Прежде чем я мог просто отобразить часть из метода insert_html, как я должен это сделать сейчас?

Ответ №1:

Используйте javascript или любой фреймворк, который вам нравится. Я предпочитаю jQuery.

  $("#somediv").html("<%= escape_javascript(render :partial => "/path/to/partial") %>")
  

Ответ №2:

Вы можете, например, загрузить ее с помощью метода load от jQuery:

 $('#somediv').load('/some/path');
  

Ответ №3:

Есть довольно отличный загрузчик частичной страницы javascript, который создал @defunkt.

Это называется pjax. Это обеспечивает частичную перезагрузку страницы и ожидаемую функциональность с помощью кнопки «Назад» для браузеров, поддерживающих history.pushstate API

что это?

pjax загружает HTML с вашего сервера на текущую страницу без полной перезагрузки. Это ajax с реальными постоянными ссылками, заголовками страниц и рабочей кнопкой возврата, которая полностью деградирует.

pjax улучшает удобство просмотра — не более того.

Демо-версию можно найти по адресуhttp://pjax.heroku.com

Ответ №4:

UJS, RJS, шаблоны и помощники по-прежнему будут поддерживаться с помощью дополнительных драгоценных камней.