2013-05-11 2 views
0

웹 사이트 https://looky.co의 사이트 둘러보기 기능을 구현 중이며 show_site_tour이 true로 설정된 경우 site_tour.js 파일 만 보내고 싶습니다. (show_site_tour은 데이터베이스 열입니다).동적 자산로드 heroku

내 application.html.haml (레이아웃 파일)에 설정했습니다. 문제는 heroku가 자산 파이프 라인을 운영하는 방식입니다.

디렉토리 구조

\ app 
    \ assets 
     \ javascripts 
     \ guiders 
      site_tour.js 

기본적으로 문제는 단지 데이터베이스 열이 참 같다는 것을 조건으로 해당 폴더를 포함 할 때, Heroku가이 오류에 "미리 컴파일되지 자산"을 제공한다는 것입니다. 내 application.html.haml에서

%head 
    = javascript_include_tag 'application' 
    - if current_user.show_site_tour == true 
    = javascript_include_tag 'guiders/site_tour' 

그래서 내가 어떻게 Heroku가 파이프 라인이 일을 할 수 있습니까? 기본적으로 주요 질문은 heroku에서 하나 이상의 자바 스크립트 파일을 가질 수 있다는 것입니다.

+0

'heroku logs'의 출력을 게시 할 수 있습니까? – Kashyap

답변

2

This answer should help.

기본적으로 자산 파이프 라인에 site_tour 파일을 분리하여 보관해야합니다. 이 설정에 영향을 application.jssite_tour.js 소요 후

config.assets.precompile += %w(guiders/site_tour) 

두 자바 스크립트 파일로 끝날 것이다.

rake을 사용하여 에셋을 프리 컴파일하여 테스트 할 수 있습니다.

bundle exec rake assets:precompile 

이 출력이에게 Heroku에 끝낼 방법을 보여줍니다.

Heroku requires that you have the following setting set to false에 주목할 가치가 있습니다.

config.assets.initialize_on_precompile = false 
관련 문제