轨道:引导玻璃玻璃仪未加载生产



升级到Rails 5后,Bootstrap Glyphicon图标无法正确加载Heroku。例如,垃圾桶图标显示为问号。看来,浏览器没有找到水文资产并加载自己的解释。我正在使用bootstrap-sass 3.3.7

当加载字形时,如果我打开控制台,我会看到这样的错误:

A server with the specified hostname could not be found
https://assets/bootstrap/glyphicons-halflings-regular-fe185d11a49676890d47bb783312a0cda5a44c4039214094e7957b4c040ef11c.woff2

在我看来,对于引导程序资产,资产主机无法正确设置。在我的production.rb文件中,我有行

config.asset_host = "https://#{ENV['RAILS_HOST_PATH']}"

,如果我做heroku config --remote production,则RAILS_HOST_PATH的值是www.example.com

如果我看Rails.application.config.asset_host,它确实可以正确显示 "https://www.example.com"。但是,对于Bootstrap资产来说,该域被解析为https://

这里发生了什么?

进一步的调查显示,这不是Rails 5本SE的问题,而是由于更改了升级中的production.rb文件,并遵循Heroku关于使用ENV变量来用于此类文件的建议。p>因此,我需要在预编译中指定目标rails_host_path,即 RAILS_ENV=production RAILS_HOST_PATH=www.example.com rake assets:precompile

最新更新