0

我想制作一个“人”表,其中每个属性都是可内联编辑的。大约有 500 人,这个名单会随着时间的推移而增长。people#index 页面包含此列表。

由于表单元素很多,服务器渲染页面需要很长时间。我用来托管的服务器也相当慢,所以我考虑让 Javascript 来渲染这些表。

目前,我创建了一个新操作来返回所有人员属性的 JSON 数据,并且我使用 Rails 仅为该行生成一个模板。然后我使用 jQuery 克隆该模板,并将 JSON 数据中的每个属性插入到新副本中,并将其添加到行中。

这使得 people#index 加载速度更快,但现在我遇到了 Javascript 在加载时将页面冻结一秒钟的问题。

我研究了网络工作者以创建一个线程来完成这项工作。我计划在单独的线程上生成额外的行,然后将其添加到我的表中(我正在使用 dataTables)。

我觉得我可能错过了什么。这是一个草率的解决方案。

我的问题是,有没有更好的方法来解决这个问题?

4

1 回答 1

0

可能的选项:

1 分页我在这种情况下分页是最好的解决方案。分页可以在 Rails 端(https://github.com/mislav/will_paginatehttps://github.com/amatsuda/kaminari gems)或 js 端完成。

2 您也可以使用类似http://trirand.com/blog/jqgrid/jqgrid.html 这个 JS 组件也提供内联编辑数据的功能,您可以搜索 Rails 集成 gem,例如https://github.com/allen13 /rails-asset-jqgrid

于 2013-07-04T22:07:07.113 回答