2017-10-20 82 views
0

我在使用Heroku上的Rails 5从我的Asset管道中提供静态文件时出现问题。我看过其他问题,但似乎没有任何问题可以解决。未在Heroku Rails上投放图像5 App

我得到 HomeController#索引缺少此请求格式的模板 和变体。 request.formats: “图像/ PNG”] request.variant:[]

我的配置/ 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

错误消息“missing a template ...”告诉你Rails找到了一个匹配的路由,但它导致了一个控制器方法。因此你的问题可能与你的'routes.rb'或文件的命名有关。丢失的文件在哪里(在'public'或'app/assets'中)?你如何链接视图中的文件?呈现的HTML中的生成路径是怎样的?你的'config/routes.rb'是怎么样的? Heroku上实际设置了“RAILS_SERVE_STATIC_FILES”吗? – spickermann

回答

2

编译本地所有资产,并推到Heroku的。

尝试以下步骤:在配置/环境/ production.rb config.assets.compile = true

  • 运行命令

    1. 变线:

      RAILS_ENV=production rake assets:precompile

    2. 推编译所有资产清单。 rb到heroku

  • +0

    这完美的作品! –