отображения страницы станет искать шаблон add_to_cart, а мы его
удалили. Создадим шаблон rjs-шаблон (.rjs шаблоны – способ передачи браузеру кода JavaScript, который целиком выполняется созданием кода на стороне сервера).
app/views/store/add_to_cart.rjs
page.replace_html("cart", :partial => "cart", :object => @cart)
Переменная page – экземпляр JavaScript-генератора (Rails-класса, который создаёт код JavaScript на сервере. Чтобы он выполнялся браузером). Этот шаблон представляет HTML-код для отображения корзины и предписывает браузеру заменить содержимое контейнера
с параметром id=”cart” этим HTML-кодом.
Т.о. мы создали AJAX-приложение.
Слайд 12
Возможные проблемы
- Вы удалили старый файл add_to_cart.rhtml?
- Вы
не забыли включить библиотеки JavaScript в макет store (используя
javascript_include_tag)?
- Пора сделать полную перезагрузку страницы?
- Вы получали какие-нибудь сообщения об ошибках? Посмотрите файл development в каталоге logs
- Если в регистрационном файле нет входящих запросов на выполнение действия add_to_cart, то браузер не создаёт AJAX-запросов. У браузера может быть отключено выполнение JavaScript (посмотреть сгенерированный HTML-код)
- Остановить и снова запустить приложение
- Поместить в макет заголовок
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">,
чтобы переключить IE в стандартный режим, который лучше работает с AJAX-содержимым.