2014-02-19 5 views
1

내 레일 4 앱에서 Foundation 5 Orbit 슬라이더를 사용하려고하는데 개발 환경에서는 완벽하게 작동하지만 Heroku에서는 제대로 작동하지 않습니다. Chrome 개발자 도구를 사용하여 진행 상황을 확인하면 foundation.js를 찾을 수 없다고 말합니다. 페이지 자체에는 첫 번째 이미지가 표시되지만 탐색 컨트롤과 다음 이미지는 표시되지 않습니다.Foundation Orbit Slider가 프로덕션 환경에서 작동하지 않습니다.

'foundation-rails'gem (5.0.2)을 통해 Foundation을 사용하고 있습니다. foundation.js 파일을 vendor/assets/javascripts 폴더와 app/assets/javascripts 폴더에 수동으로 배치하려고 시도했지만 어느 것도 작동하지 않습니다.

내 applications.js 파일은 다음과 같습니다 :

//= require jquery 
//= require jquery_ujs 
//= require turbolinks 
//= require_tree . 
//= require foundation 
$(function(){ $(document).foundation(); }); 

나는 내 application.html 헤드에 다음과 같습니다

<%= javascript_include_tag "application" %> 
<%= javascript_include_tag "vendor/modernizr" %> 
<%= javascript_include_tag "//code.jquery.com/jquery-1.10.2.min.js" %> 

몸에 :

<%= javascript_include_tag "foundation" %> 

나는 여러 가지를 시도했다. 예를 들어 머리에서 응용 프로그램 js 참조를 제거하고 몸체에 넣고, application.js의 foundation JS 참조와 application.html의 본문이지만 아무 것도 작동하지 않는 것 같습니다.

답변

1

자산을 어떻게 사전 컴파일합니까? Heroku's Rails Asset Pipeline docs에 따르면 당신은 로컬

$ bundle exec rake assets:precompile 

를 실행 한 다음 Heroku가에 넣거나, 필요하거나 (이 내가 추천 무엇이며, 사용, 자신을),이 명령을 실행하여 Heroku Labs: user-env-compile 수 있도록 :

$ heroku labs:enable user-env-compile -a myapp 

이렇게하면 Heroku가 Heroku에 푸시 할 때마다 자산을 사전 컴파일하도록 지시합니다 (이 코드는 체크인하는 코드를 줄입니다).

또한 application.js를 통해 jQuery 또는 Foundation을 포함 시키려면 javascript_include_tags가 필요하지 않습니다.

0

다른 모든 것들은 궤도를 벗어나 기초를 만들기 위해 노력하고 있습니까? 그렇지 않은 경우, html 헤드에서 modernizr 스크립트를 제거하고, modernizr 파일을 config/vendor/javascript로 이동하고, application.js 파일의 트리 앞에 require 목록에 modernizr을 추가하고, 자산을 사전 컴파일하고, heroku로 다시 푸시하십시오. 나를 위해 일했다