gpt4 book ai didi

ruby-on-rails - ruby rails : Why does calling a partial in my views take an extended time to render?

转载 作者:数据小太阳 更新时间:2023-10-29 07:35:27 26 4
gpt4 key购买 nike

例如,我在我的 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]

即使局部本身很小,渲染每个局部似乎也需要非常长的时间。你知道是什么原因造成的吗?我可以做些什么来更快地调用局部函数?是否建议根本不调用局部函数?

(我正在使用 Rails 5.1.1 和 ruby​​ 2.5.0dev)

最佳答案

我相信你已经粘贴了开发环境的日志。如果是这样,那是因为 config.cache_classes 对于开发默认为 false,对于测试和生产环境默认为 true,如中所述 rails 。

config.cache_classes controls whether or not application classes and modules should be reloaded on each request. Defaults to false in development mode, and true in test and production modes.

config.action_view.cache_template_loading controls whether or not templates should be reloaded on each request. Defaults to whatever is set for config.cache_classes.

我建议在testproduction 环境中运行应用程序,然后检查日志。

关于ruby-on-rails - ruby rails : Why does calling a partial in my views take an extended time to render?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44558101/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com