Jac*_*ham 8 ruby-on-rails heroku asset-pipeline
在当地显示很好.但是当我上传到Heroku时,我得到以下内容:
<%= image_tag('logo-red.png') %>
Run Code Online (Sandbox Code Playgroud)
它位于资产/图像/
我没有使用Turbolinks.我是否需要在Heroku上运行命令来解决这个问题,或者是否存在一些我缺少的配置设置?
编辑1:试过跑步 heroku run rake assets:precompile RAILS_ENV=production
编辑2:heroku员工的回复:
看起来您的应用正在正确编译该图像:〜/ public/assets $ pwd/app/public/assets~/public/assets $ ls | grep logo-red logo-red-a07050d882e1dba431cef2130d39f929c611eaf8b0ec3c50db0742ddccb14d93.png
尝试在本地计算机上运行:
rake assets:precompile
rake assets:clean
Run Code Online (Sandbox Code Playgroud)
然后提交并推送到heroku.
还要检查您的production.rb文件并确保与编译或预编译相关的所有内容都为true而不是false,即:
config.serve_static_assets = true
config.assets.compile = true
Run Code Online (Sandbox Code Playgroud)
另外,确保rails_12factor在你的gemfile中,如下所示:
gem 'rails_12factor', group: :production
Run Code Online (Sandbox Code Playgroud)
之前在 Heroku 上遇到过这个问题 - 我们通过precompilingHeroku 本身的资产解决了它:
$ heroku run rake assets:precompile RAILS_ENV=production
Run Code Online (Sandbox Code Playgroud)
我知道当您将存储库推送到 Heroku 时就完成了;这是那些怪癖之一,如果您在他们的服务器上编译资产,似乎就可以解决这个问题。
只要确保是RAILS_ENV生产环境,您也可以在本地预编译:
$ rake assets:precompile RAILS_ENV=production
| 归档时间: |
|
| 查看次数: |
1019 次 |
| 最近记录: |