복붙노트

[RUBY-ON-RAILS] 4 개 이미지 Heroku가에로드되지 레일

RUBY-ON-RAILS

4 개 이미지 Heroku가에로드되지 레일

내 Heroku가 응용 프로그램에 부하 이미지를 얻으려고 오늘의 좋은 부분을 보냈습니다. 모든 I의 시도는 아니지만 Heroku가 배포 된 후, 로컬로 작동합니다.

내 자산에서 폴더 이미지에 저장된 파일을 PNG로했다. 내 CSS 등의 구문으로 이러한 이미지를 참조하고,

#signin {
  background: url(<%= asset_path 'sf.png' %>);
  background-size: 100%;
}

Heroku가에서 나는 배경에게 자산을 검사 할 때 / 링크를 sf.png 것은이 있지만 클릭 할 때 그것이 제대로로드되지 않은 제안, 깨진 이미지를 보여줍니다.

나는 진실과 거짓과도 작품 사이의 production.rb 파일에 거짓 전환 config.serve_static_assets을 = 시도했습니다.

또한이

group :production do
  gem 'pg'
  gem 'rails_12factor'
end

프리 D는 항상 성공적이다.

시도하는 다른 어떤 4. 어떤 아이디어를 레일?

해결법

  1. ==============================

    1.나는이 작품을 만들기 위해 몇 가지 솔루션을 결합하는 데 필요한, 여기에 내가 무슨 짓을했는지 있습니다 :

    나는이 작품을 만들기 위해 몇 가지 솔루션을 결합하는 데 필요한, 여기에 내가 무슨 짓을했는지 있습니다 :

    Gemfile

    gem 'rails_12factor', group: :production
    

    내 Heroku가 콘솔에서

    heroku labs:enable user-env-compile -a yourapp
    

    production.rb

    config.serve_static_assets = true
    config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect'
    config.assets.compile = true
    

    나는 로컬 자산을 미리 컴파일 할 필요가 없었다.

  2. ==============================

    2.당신은 그것을 해결하기 위해 두 가지 일을 할 필요가있다. 먼저, production.rb 파일에 false에서 true로이 두 줄을 변경합니다.

    당신은 그것을 해결하기 위해 두 가지 일을 할 필요가있다. 먼저, production.rb 파일에 false에서 true로이 두 줄을 변경합니다.

          config.assets.compile = true
          config.assets.digest = true
    

    둘째, 당신은 당신의 이미지에 대한 다음과 같은 구문을 한 경우

        background: url("imgo.jpg") 
    

    로 변경

         background: image-url("image.jpg")
    

    나는 당신의 일을 희망한다.

  3. ==============================

    3.또 다른 문제는, 나는이와 가지고되었다 내가 이전에 Heroku가에로드에 로컬로 내 자산을 사전 컴파일 된 것이 었습니다. 이것은 아래에서 찾을 수 있습니다 다른 단계를 수행 할 필요합니다. 로컬 자산을 미리 컴파일 할 경우 다음 단계 또는 자극에 반영되지 않습니다 폴더 자산에 대한 모든 업데이트를 따라야합니다.

    또 다른 문제는, 나는이와 가지고되었다 내가 이전에 Heroku가에로드에 로컬로 내 자산을 사전 컴파일 된 것이 었습니다. 이것은 아래에서 찾을 수 있습니다 다른 단계를 수행 할 필요합니다. 로컬 자산을 미리 컴파일 할 경우 다음 단계 또는 자극에 반영되지 않습니다 폴더 자산에 대한 모든 업데이트를 따라야합니다.

    https://devcenter.heroku.com/articles/rails-asset-pipeline

    RAILS_ENV는 간부 레이크 자산 번들 생산을 = : 사전 컴파일을

    커밋하고 서버에 밀어 넣습니다.

  4. ==============================

    4.나는 비슷한 문제를했고 나는 custom.css.scss에 다음 줄에 그것을 해결 .. 당신이 작동하는 경우 말해.

    나는 비슷한 문제를했고 나는 custom.css.scss에 다음 줄에 그것을 해결 .. 당신이 작동하는 경우 말해.

    background: image-url('sf.png')
    

    자산을 참조하면, 당신은 ERB 또는 말대꾸를 사용하는 경우에 따라 다른 방법을 수행 레일 가이드에 루비에 표시된다.

  5. ==============================

    5.나는 (아직) 코멘트로 명성을하지 않아도하지만, 이제 당신은 "그러한 기능 : 사용자 ENV 컴파일"을 얻을거야 Heroku가 실험실 기능이 제거 된 것을 유의해야 오류

    나는 (아직) 코멘트로 명성을하지 않아도하지만, 이제 당신은 "그러한 기능 : 사용자 ENV 컴파일"을 얻을거야 Heroku가 실험실 기능이 제거 된 것을 유의해야 오류

    더 : https://github.com/Crowdtilt/CrowdtiltOpen/issues/251

  6. ==============================

    6.레일 ( '4.1.5') 나는 이미지의 유사한 문제가 Heroku가에 표시하지만, 로컬 표시되지 있었다. 내가 생산 내가 GitHub에 밀어 = RAILS_ENV를 사용하여 로컬 및도 미리 컴파일 그리고 Heroku가에 벌금을 배포, 클립 또는 carrierwave 보석을 사용하고 있지 않다.

    레일 ( '4.1.5') 나는 이미지의 유사한 문제가 Heroku가에 표시하지만, 로컬 표시되지 있었다. 내가 생산 내가 GitHub에 밀어 = RAILS_ENV를 사용하여 로컬 및도 미리 컴파일 그리고 Heroku가에 벌금을 배포, 클립 또는 carrierwave 보석을 사용하고 있지 않다.

    나는함으로써 문제를 해결 :

    config.serve_static_assets = true
    config.assets.compile = true
    config.assets.js_compressor = :uglifier
    config.assets.digest = true
    
    // delete precompiled assets
    bundle exec rake assets:clobber --trace
    RAIL_ENV=production bundle exec rake assets:clobber --trace
    

    응용 프로그램 / 자산 공공 / 자산에 복사 된 이미지. 그때:

    // tests should pass
    bundle exec rake assets:precompile --trace
    RAILS_ENV=production bundle exec rake assets:precompile --trace
    
    git commit
    git push
    

    그리고 Heroku가에 벌금을 실행했다.

  7. ==============================

    7.난 그냥 이미지를 보여주는 비슷한 문제가 있었다. 레일에 새 인 내가 사용할 수 몰랐 :

    난 그냥 이미지를 보여주는 비슷한 문제가 있었다. 레일에 새 인 내가 사용할 수 몰랐 :

    <% = IMAGE_TAG ( "fileName.png"고도 : "파일 이름 팬시"크기 : "100 × 100을") %>

    대신 기존의 HTML.

    IMAGE_TAG은 레일 API의 설명하지만, 나는 그것의 사용을보다 잘 설명 찾을 수 : http://apidock.com/rails/ActionView/Helpers/AssetTagHelper/image_tag

    내 응용 프로그램에 추가 된 모든 나는이 보석했다 : 보석 'rails_12factor'그룹 : 생산

    AS는 Heroku가 자산 - 파이프 라인 문서에 설명. https://devcenter.heroku.com/articles/rails-4-asset-pipeline

  8. ==============================

    8.내가 너무 많은 솔루션을 시도하지만 난 귀중한 솔루션 및 설명을 발견 1. Heroku가 공용 폴더의 자산과 당신의 자산을 미리 컴파일해야 함을 의미 찾습니다하지만 당신은 나를 좋아한다면 내 자산을 미리 컴파일하는 방법을 찾고 누군가가 내 개발 환경 페이지에 보석 SQLite는 생산 세트로 설정되어있는 경우 당신은이 작업을 수행 할 것입니다.

    내가 너무 많은 솔루션을 시도하지만 난 귀중한 솔루션 및 설명을 발견 1. Heroku가 공용 폴더의 자산과 당신의 자산을 미리 컴파일해야 함을 의미 찾습니다하지만 당신은 나를 좋아한다면 내 자산을 미리 컴파일하는 방법을 찾고 누군가가 내 개발 환경 페이지에 보석 SQLite는 생산 세트로 설정되어있는 경우 당신은이 작업을 수행 할 것입니다.

    당신의 production.rb에서

    config.serve_static_assets = true
    

    당신이 보석 페이지가 설치되어 있지 않은 경우, 당신은 그것을 주석 및 사용 보석 SQLite는에 프로덕션 환경을 변경하고이를 실행해야

    RAILS_ENV=production bundle exec rake assets:precompile
    

    모든 자산을 미리 컴파일 된 경우,. 기본 설정과 자식 추가로 다시 전환 커밋에게 Heroku에 푸시

  9. ==============================

    9.이미지는 기본 만 CSS와 JS에 의해 자산으로 제공되지 않습니다. 당신의 대답을 조사한다

    이미지는 기본 만 CSS와 JS에 의해 자산으로 제공되지 않습니다. 당신의 대답을 조사한다

    이 질문에 에드 Ehtsham 압바스 Heroku가 레일 4 자산 파이프 라인에서 파일을 컴파일하지 않습니다

  10. from https://stackoverflow.com/questions/18324063/rails-4-images-not-loading-on-heroku by cc-by-sa and MIT license