在部署到弹性 beanstalk 时,几乎所有资产都出现了 400 个错误。
导轨 v 4.2
我正在考虑应用符号链接或创建复制扩展的想法,但我真的不应该这样做。
EB使用nginx,我确认nginx正在提供公共/资产和公共目录。
我可以将文件移动到公共/资产,它不会再出错。
此外,应用程序直接在 ec2 实例上运行没有问题。
我注意到当我渲染页面时,浏览器没有尝试加载我的资产的编译版本(例如:application-03f1fea523795448f85cf1cf62e62e6f.css(。它尝试加载不在公共/资产目录中的未编译文件。
有什么想法吗?
我有同样的问题。只想分享我的想法。
当我在EB环境属性中RACK_ENV=development
和RAILS_SKIP_ASSET_COMPILATION=false
时,它对应于Rails应用程序中config/environments/development.rb
的配置文件。
看起来当我从浏览器访问应用程序时,它会预编译资产两次(EB 预编译脚本和运行时资产编译(,因此资产哈希手指将不匹配。结果,404 资产错误。