例如,我叫了三谐音在我的食谱/ _cuisines.html.erb文件:Ruby on Rails:为什么在我的视图中调用局部渲染会花费很长时间?
<%= 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]
看来,它需要一个非常时期,从而使得各部分即使部分本身是非常小的。你知道是什么原因导致的,我能做些什么来更快地调用偏好函数?建议不要叫部分吗?
(我用Rails 5.1.1和Ruby 2.5.0dev)
我不知道它会如此简单:)非常感谢普拉莫德! – sjsc