我想制作一个“人物”表格,其中每个属性都是内联可编辑的。大约有500人,名单会随着时间的推移而增长。人员#index页面包含此列表。
由于存在大量表单元素,因此服务器需要很长时间才能呈现页面。我用来托管的服务器也相当慢,所以我考虑让Javascript进行这些表的渲染。
目前,我创建了一个新动作来返回所有人的属性的JSON数据,我使用Rails只生成该行的模板。然后我使用jQuery克隆该模板,并将JSON数据中的每个属性插入到一个新副本中,并将其添加到行中。
这使得人们#index加载速度要快得多,但是现在我遇到了Javascript冻结页面一秒钟加载的问题。
我调查了网络工作者创建一个线程来完成这项工作。我打算在一个单独的线程上生成额外的行,然后将它添加到我的表中(我正在使用dataTables)。
我觉得我可能会遗漏一些东西。这是一个草率的解决方案。
我的问题是,有更好的方法吗?
答案 0 :(得分:0)
可能的选择:
1分页 我在这种情况下分页是最好的解决方案。 分页可以在轨道侧(https://github.com/mislav/will_paginate和https://github.com/amatsuda/kaminari宝石)或在js侧完成。
2您也可以使用http://trirand.com/blog/jqgrid/jqgrid.html之类的内容 这个JS组件也能够内联编辑数据,你可以搜索像https://github.com/allen13/rails-asset-jqgrid这样的rails集成宝石