рельсы рендеринга двух тел на каждой странице, текущей и предыдущей - PullRequest
0 голосов
/ 14 июня 2019

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

https://campadventureland.herokuapp.com/

Репозиторий git:

https://github.com/rickymm3/campadventurelandnew

Когда я открываю начальную загрузку, все нормально. Когда я нажимаю на ссылку (фирменную домашнюю ссылку или FAQ (ниже), она загружает содержимое страницы дважды.

Любая помощь будет оценена.

Спасибо

1 Ответ

2 голосов
/ 14 июня 2019

Краткий ответ - Это эффект turbolinks, когда он запускает событие дважды

Решение - Не используйте его в своем проекте.Удалите турболинки из Gemfile, атрибуты данных из раздела head и требования из application.js

Дополнительная информация

Есть много проблем, думаю, вы можетеначать с этого

И это

Turbolinks ускоряет ваш сайт, перехватывая любые запросы, сделанные, например, при нажатии на ссылки.Вместо того, чтобы позволить браузеру выполнить полную загрузку страницы и изменить страницу, он загружает содержимое с помощью AJAX и заменяет тело страницы на тело новой страницы.Это означает, что браузер не должен интерпретировать какие-либо ресурсы CSS или JS с новой страницы.Улучшение скорости от этого может быть огромным, если у вас есть большие активы, такие как много Javascript.Из-за того, как Turbolinks работает, есть некоторые проблемы и недостатки, однако.Например, вы не можете использовать стандартную $ (document) .ready для страниц, загружаемых Turbolinks.Вместо этого вы должны использовать события из Turbolinks. Существуют также проблемы с привязкой обработчиков событий дважды, если вы не будете осторожны. Тем не менее, Turbolinks может быть огромным улучшением для многих приложений.

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