我将尝试在我的视图中描述代码,而不是实际发布所有垃圾:
它有一个标准的shell(布局中的页眉,页脚等)这也是存在子导航的地方,它基于一个循环(以查找选项的数量) - 在这个页面上,我们有6个子空载链接
然后在索引视图中,我们有一个3级导航 - 有3个链接,使用javascript链接/隐藏页面上的div。
这意味着每个原始的6个选项都有自己的3级导航,每个都有自己的3个div页面。
这三个页面/ div具有用于在rails中创建记录的输入表单,然后其他2个页面显示不同分类中的记录。
所有这些代码都存在于一个页面上(除了shell)。原始子导航使用javascript选项卡解决方案,浏览所有它...(这意味着它大约6个div,它们都包含4个div函数 - 所以大约24个重div)。
加载它似乎需要永远,虽然加载后非常快(显然)。
我的大问题是,我应该如何攻击这个?我不知道ajax - 虽然我认为它是一个很好的解决方案,在点击时加载标签。
谢谢!
埃利奥特
更新:
所以我不认为缓存页面实际上会实现很多...我有84个循环调用页面中的记录(目前有84个,因为有7个主菜单项 - 自原始帖子后再添加一个,每个菜单项有3个页面,在这三个页面中有大约12个项目列表,因为它全部存在于一个页面上 - 7x12 = 84个循环/列表...每次我决定添加一个主菜单项时,它将向页面添加12个循环/列表)。并且它们不能被缓存,因为它们本身就是动态的。
我觉得现在需要某种类型的渐进式加载解决方案,其中标签只在点击时加载数据?
我一直在做一些加速页面的事情,所有这些都将在完成时回复。
答案 0 :(得分:1)
尝试对这些菜单项进行片段缓存。我相信菜单是从sql(类别列表浏览)中获取的。除此之外 - 垃圾可以帮助您更准确地诊断问题。
答案 1 :(得分:0)
好的,以下是我采取的步骤:
Understanding Eager Loading & How to use it? (specific issue)(实施急切加载以减少SQL查询)
Only show content when certain criteria is met?(页面上的空白内容较少)
Remaking this loop by user?(通过模型完善上述内容)
现在页面速度要快得多,希望这些资源也可以帮助其他人!