有用 cells 的各位,要是你是用远端 memcached server,或是一次需要显示同种 cell 五十多次,请来用用看这个 https://github.com/GoodLife/cells-collection gem。理论上能减少一些 render 时间。
他的原理就是,如果你要一次显示三十篇留言,每篇都是一个 cell,那么与其呼叫 render_cell 三十次:
<% @comments.each do |c| %>
<%= render_cell :comment, :single, c %>
<% end %>
干脆只呼叫一次好了
<%= render_cell_collection :comment, :single, @comments %>
这样子的好处是,使用 caching 时,我们可以下一个 memcached 指令就捞 30 笔暂存,而不需要下三十次指令。
本机用效果差异不大,不过 cell 数量一多,或是 memcached 是在远端时,应该可以省一些时间。