2017-10-20 13 views
0

Heroku의 Rails 5를 사용하여 자산 파이프 라인에서 정적 파일을 제공하는 데 문제가 있습니다. 나는 다른 질문을 보았지만 아무도 그 문제를 해결하지 못하는 것 같습니다.이미지가 Heroku Rails 5 App에 게재되지 않습니다.

얻을 수 있습니다. HomeController # index에는이 요청 형식 및 변형에 대한 템플릿이 없습니다. 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

'템플릿이 없습니다 ... '라는 오류 메시지는 레일스가 일치하는 경로를 찾았지만 컨트롤러 메소드로 연결된다는 것을 알려줍니다. 따라서 문제는'routes.rb' 또는 파일의 이름과 관련이있을 수 있습니다. 누락 된 파일은 어디에 위치합니까 ('public' 또는'app/assets'에 있습니까?)? 보기에서 파일을 어떻게 링크합니까? 렌더링 된 HTML에서 생성 된 경로는 어떻게 생겼습니까? 'config/routes.rb'는 어떻게 생겼습니까? 'RAILS_SERVE_STATIC_FILES'는 실제로 Heroku에 설정되어 있습니까? – spickermann

답변

2

컴파일 로컬로 자산과 Heroku가에 밀어 넣습니다.

다음 시도 단계 : 설정/환경/production.rb 실행 명령 config.assets.compile = true

  • 에서

    1. 변화 라인 :

      RAILS_ENV=production rake assets:precompile

    2. 푸시 모든 매니페스트와 자산을 컴파일합니다. rb ~ heroku.

  • +0

    완벽하게 작동합니다! –