Я собираюсь попытаться описать код на мой взгляд, без фактического размещения всего мусора:Загрузка страницы в Ruby очень медленно - как мне ее ускорить?
У этого есть стандартная оболочка (заголовок, нижний колонтитул и т. Д. В макете), это также там, где существует субавигация который основан на цикле (чтобы найти количество опций) - на этой странице у нас есть 6 субнавских ссылок.
Затем в окне индекса у нас есть навигатор третьего уровня - с 3 ссылками, которые используют javascript для ссылки/скрытия divs на странице.
Это означает, что каждый из этих оригинальных 6 вариантов имеет свой собственный 3-й уровень навигации, каждый из которых состоит из трех страниц.
Эти три страницы/divs имеют форму ввода для создания записи в рельсах, а затем другие 2 страницы показывают записи в разных наборах.
ВСЕ этот код живет на одной странице (кроме оболочки). Оригинальная поднавигация использует решение вкладки javascript, чтобы просмотреть все его ... (это означает, что около 6 div, которые содержат 4 divs функции - примерно 24 тяжелых div).
Загрузка, похоже, берет навсегда, хотя после загрузки ее очень быстро (очевидно).
Мой большой вопрос, как я должен атаковать это? Я не знаю ajax - хотя я думаю, что это было бы хорошим решением для загрузки вкладок при нажатии.
Спасибо!
Эллиот
UPDATE:
Так что я не думаю, что кэширование страниц на самом деле собирается выполнить много ... У меня есть 84 петли, которые требуют записи на странице (ее в настоящее время 84 так как есть 7 пунктов главного меню - добавлено еще одно с момента публикации, каждый пункт меню имеет 3 страницы, в пределах трех страниц имеется около 12 списков элементов, а так как все они живут на одной странице - 7x12 = 84 цикла/списков. Каждый раз, когда я решаю добавить элемент главного меню, он добавит еще 12 циклов/списков на страницу). И они не могут быть кэшированы, поскольку они сами динамичны.
Я чувствую, что существует определенное решение для прогрессивной загрузки, когда вкладка загружает данные только при нажатии?
Я делал несколько вещей, чтобы ускорить страницу, все из которых я отправлю в ответ после завершения.