【发布时间】:2018-03-06 14:45:44
【问题描述】:
我有 rails 操作,其中包括以下 HAML 部分:
- @items.each_with_index do |item, i|
- item_no = 'item' + item.item_no.to_s
.item
= form_for item, remote: true, html: { multipart: true, autocomplete: 'off' } do |f|
= f.hidden_field :parent_id, :value => @parent.id
= f.hidden_field :image, value: item.image
...
...
// 5-6 attributes
- if @parent.has_item_numbers?
.serial-number{ class: ('right' if item.item_no.odd?) }
= item.item_no
与其parent 关联的items 的数量可能会有很大差异,也可能高达 2000-3000,具体取决于用户。我们还没有限制父母可以拥有的孩子的数量。在我决定 limit: 之前,有没有办法加速 .each_with_index 方法的渲染,因为现在这需要 10 秒才能完成我本地的请求。
有一些关于converting a partial to a method/block 速度的讨论,但我不完全理解。
另外,值得注意的是,同样的部分在 rails 5.0.4 中的表现要好得多,但在 rails 5.1.4 中的表现明显放缓。
【问题讨论】:
标签: ruby-on-rails caching rendering