【发布时间】:2017-06-15 03:37:45
【问题描述】:
例如,我在我的 recipes/_cuisines.html.erb 文件中调用了三个部分:
<%= render "recipes/cuisines/denmark.html %>
<%= render "recipes/cuisines/spain.html %>
<%= render "recipes/cuisines/italy.html %>
该文件中没有其他内容。部分只是没有集合的静态内容。这是我从日志中得到的:
Rendered recipes/cuisines/_denmark.html.erb (4.6ms) [cache miss]
Rendered recipes/cuisines/_spain.html.erb (2.3ms) [cache miss]
Rendered recipes/cuisines/_italy.html.erb (5.3ms) [cache miss]
Rendered recipes/_cuisines.html.erb (161.5ms) [cache miss]
如果我删除其中一个部分,我会得到如下信息:
Rendered recipes/cuisines/_denmark.html.erb (4.6ms) [cache miss]
Rendered recipes/cuisines/_spain.html.erb (2.3ms) [cache miss]
Rendered recipes/_cuisines.html.erb (101.7ms) [cache miss]
删除另一个部分,我得到:
Rendered recipes/cuisines/_denmark.html.erb (4.6ms) [cache miss]
Rendered recipes/_cuisines.html.erb (50.5ms) [cache miss]
删除每个部分,我得到这样的结果:
Rendered recipes/_cuisines.html.erb (0.9ms) [cache miss]
即使部分本身非常小,渲染每个部分似乎也需要非常多的时间。你知道是什么原因造成的,我可以做些什么来更快地调用局部变量?是否建议根本不调用 partials?
(我使用的是 Rails 5.1.1 和 ruby 2.5.0dev)
【问题讨论】:
标签: ruby-on-rails ruby