我在使用Heroku上的Rails 5从我的Asset管道提供静态文件时遇到问题。我看过其他问题但似乎没有解决问题。
我明白了 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
答案 0 :(得分:2)
在本地编译所有资产并推送到heroku。
请尝试以下步骤:
config.assets.compile = true
运行命令:
RAILS_ENV=production rake assets:precompile
将manifest.rb的所有编译资产推送到heroku
。
答案 1 :(得分:0)
在本地编译资产不是一种好的做法,应该避免,因为工件不应该在版本控制中。我在尝试使用 sass 设置背景图片时遇到了同样的问题,并使用String mEventKey = getIntent().getStringExtra(EXTRA_POSITION);
Log.d(TAG, "onCreate: current event number is: " + mEventKey);
帮助生成了正确的网址。
image-url
对于图片代码和erb css模板,有background: image-url('my-image.png') no-repeat center;
和image_path
rails帮助程序。