2016-12-23 3 views
1

레일 5로 업그레이드 한 후 부트 스트랩 글리프 아이콘이 영웅에 올바르게로드되지 않습니다. 예를 들어 휴지통 아이콘이 물음표로 표시됩니다. 브라우저가 glyphicon 애셋을 찾고 자체 해석을로드하지 않는 것 같습니다. bootstrap-sass 3.3.7을 사용하고 있습니다. glyphicons가로드되면 내가 콘솔을 열면레일 : 부트 스트랩 글리프 아이콘이 프로덕션에서로드되지 않습니다.

는,이 같은 오류를 참조하십시오

A server with the specified hostname could not be found 
https://assets/bootstrap/glyphicons-halflings-regular-fe185d11a49676890d47bb783312a0cda5a44c4039214094e7957b4c040ef11c.woff2 

그것은 자산 호스트가 부트 스트랩 자산에 대해 제대로 설정되지 않는 것을 나에게 보인다. 내 production.rb 파일에서 , 나는 선을

config.asset_host = "https://#{ENV['RAILS_HOST_PATH']}" 

이 내가 heroku config --remote production을 할 경우, RAILS_HOST_PATH의 값은 www.example.com입니다.

Rails.application.config.asset_host을 보면 정확하게 "https://www.example.com"이 표시됩니다. 그러나 부트 스트랩 자산의 경우 도메인은 https://으로 해결됩니다.

여기에 무슨 일이 일어나고 있습니까?

답변

1

추가 조사 결과 레일 5 자체에는 문제가 없었지만 업그레이드시 production.rb 파일을 변경하고 해당 파일에 ENV 변수를 사용하는 경우 Heroku's advice을 따른 것으로 밝혀졌습니다.

따라서, I는 사전 컴파일시 타겟 RAILS_HOST_PATH를 지정할 필요 즉 RAILS_ENV=production RAILS_HOST_PATH=www.example.com rake assets:precompile