我正在使用 rails 制作并部署在 heroku 上的(测试)网络上运行 google pagespeed 测试。
它向我显示了有关阻止页面半顶部内容的 javascript 和 css 文件的警告。
所以主要的建议是让javascript文件异步加载,并将css文件放在标签之后。我做到了,现在我更改为异步并移至末尾的文件未显示在警告中,但我仍然看到两个我不知道如何更改的文件:
https://foo.herokuapp.com/assets/application-08af52LotOfnumbersAndLetters.js
https://foo.herokuapp.com/assets/application-08af52LotOfnumbersAndLetters.css
这是rails从我的资产生成的文件,它们不是由脚本或样式标签加载的,所以据我所知,我无法移动css或使js异步。
有没有办法通过这些文件的速度测试?
我正在使用导轨 5.0.0.1
编辑:我也没有找到如何在 Rails 中使用“过期”设置浏览器缓存。这是我看到的另一个警告。
编辑2:现在我在控制台中看到我不知道要更改为异步的rails javascript资产在我更改为异步的materialize.js之前加载,因此在rails javascript资产加载时未声明materialize的功能并打电话给他们,但有一个错误。
编辑3:似乎在 config/initializers/rails_admin.rb 中添加一行它可以工作。如果有人发现同样的问题,您只需添加:
config.parent_controller = 'ApplicationController' 我认为是因为:rails_admin 如果你不告诉他就不要使用application_controller,所以application_controller 没有捕捉到rails_admin 的异常。