图片未在 Heroku 上提供 Rails 5 个应用
Images not being served on Heroku Rails 5 App
我在 Heroku 上使用 Rails 5 从我的资产管道提供静态文件时遇到问题。我查看了其他问题,但 none 似乎可以解决问题。
我明白了
HomeController#index 缺少此请求格式的模板
和变体。 request.formats: ["image/png"] request.variant: []
我的config/production.rb
config.assets.compile = false
config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
if ENV["RAILS_LOG_TO_STDOUT"].present?
logger = ActiveSupport::Logger.new(STDOUT)
logger.formatter = config.log_formatter
config.logger = ActiveSupport::TaggedLogging.new(logger)
end
在本地编译所有资产并推送到 heroku。
尝试以下步骤:
更改 config/environments/production.rb 中的行
config.assets.compile = true
运行 命令:
RAILS_ENV=production rake assets:precompile
将所有带manifest.rb的编译资源推送到heroku
。
在本地编译资产不是一个好的做法,应该避免,因为工件不应该在版本控制中。我在尝试使用 sass 设置背景图像并使用 image-url
助手生成正确的 url.[=14 时遇到了同样的问题=]
background: image-url('my-image.png') no-repeat center;
对于图像标签和 erb css 模板,有 image_path
和 image_tag
rails 助手。
我在 Heroku 上使用 Rails 5 从我的资产管道提供静态文件时遇到问题。我查看了其他问题,但 none 似乎可以解决问题。
我明白了 HomeController#index 缺少此请求格式的模板 和变体。 request.formats: ["image/png"] request.variant: []
我的config/production.rb
config.assets.compile = false
config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
if ENV["RAILS_LOG_TO_STDOUT"].present?
logger = ActiveSupport::Logger.new(STDOUT)
logger.formatter = config.log_formatter
config.logger = ActiveSupport::TaggedLogging.new(logger)
end
在本地编译所有资产并推送到 heroku。
尝试以下步骤:
更改 config/environments/production.rb 中的行
config.assets.compile = true
运行 命令:
RAILS_ENV=production rake assets:precompile
将所有带manifest.rb的编译资源推送到
heroku
。
在本地编译资产不是一个好的做法,应该避免,因为工件不应该在版本控制中。我在尝试使用 sass 设置背景图像并使用 image-url
助手生成正确的 url.[=14 时遇到了同样的问题=]
background: image-url('my-image.png') no-repeat center;
对于图像标签和 erb css 模板,有 image_path
和 image_tag
rails 助手。