2017-10-20 281 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

    這完美的作品! –

    相關問題