1

我正在使用 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 的异常。

4

1 回答 1

0

似乎在 config/initializers/rails_admin.rb 中添加一行它可以工作。如果有人发现同样的问题,您只需添加:

config.parent_controller = 'ApplicationController'

我认为这是由于:rails_admin 如果您不告诉他这样做,就不要使用 application_controller,因此 application_controller 不会捕获 rails_admin 的异常。

于 2016-11-03T11:31:17.320 回答