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