【问题标题】:Images broken after uploading Rails app to heroku将 Rails 应用程序上传到 heroku 后图像损坏
【发布时间】:2015-12-31 02:52:47
【问题描述】:

在本地显示良好。但是当我上传到 Heroku 时,我得到以下信息:

<%= image_tag('logo-red.png') %>

它位于 assets/images/

我没有使用 Turbolinks。我是否需要在 Heroku 上运行命令来解决此问题,还是缺少一些配置设置?

编辑 1:尝试运行 heroku run rake assets:precompile RAILS_ENV=production

编辑 2:heroku 工作人员的回应:

看起来您的应用正在正确编译该图像: 〜/公共/资产$密码 /应用程序/公共/资产 〜/公共/资产$ ls | grep logo-红色 标志-红色-a07050d882e1dba431cef2130d39f929c611eaf8b0ec3c50db0742ddccb14d93.png

编辑 3:见附件截图

【问题讨论】:

  • 嗯.. 仍然无法确定问题所在。我已经在使用 gem 'rails_12factor' 并通过 image_tag 提供我的资产。
  • 资产/图片是指应用/资产/图片?
  • 是的,应用程序/资产/图像
  • 如果您在本地计算机上运行rake assets:precompile,您是否在public/assets/ 文件夹中看到带有一些哈希的文件?

标签: ruby-on-rails heroku asset-pipeline


【解决方案1】:

之前在 Heroku 上遇到过这个问题 - 我们通过 precompiling Heroku 本身的资产解决了这个问题:

$ heroku run rake assets:precompile RAILS_ENV=production

我知道当你将 repo 推送到 Heroku 时就完成了;如果您在他们的服务器上编译资产,这是似乎可以解决的问题之一。

只要确保RAILS_ENV 是生产环境,您也可以在本地预编译:

$ rake assets:precompile RAILS_ENV=production

【讨论】:

  • hmmm.. 试了一下,但没有运气:/
【解决方案2】:

尝试在本地计算机上运行:

rake assets:precompile
rake assets:clean

然后提交并推送到heroku。

同时检查您的production.rb 文件并确保与编译或预编译相关的所有内容都是正确的而不是错误的,即:

config.serve_static_assets = true
config.assets.compile = true

另外,请确保 rails_12factor 在您的 gemfile 中,如下所示:

gem 'rails_12factor', group: :production

【讨论】:

    【解决方案3】:

    如果您的问题仍然存在,请在以下答案之后

    你可以试试:

    <%= asset_path 'logo-red.png' %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-22
      • 2022-07-02
      • 2020-04-15
      • 2013-07-24
      • 2017-11-25
      • 2017-12-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多