- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
例如,我在我的 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.
我建议在test
或production
环境中运行应用程序,然后检查日志。
关于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/
我是一名优秀的程序员,十分优秀!