2011-10-17 4 views
2

레일을 처음 사용하고 버전 3.1.0을 사용하고 heroku에 배치하려고합니다. 나는 몇 가지 문제를 해결하기 위해 노력한 후 heroku를 시작하고 실행하는 매우 간단한 응용 프로그램을 가지고 있습니다. 내가 Heroku가이 응용 프로그램의 자산을로드 할 수 명령레일 프리 컴파일 - all.js가 누락되었습니다.

bundle exec rake assets:precompile 

를 사용 (내가 Heroku가 버전 3.1.0이 필요하다는 읽기). 문제는 내가 응용 프로그램을 실행하려고 할 때, 서버는 내가에 all.js의 모든 버전을 찾을 수 없습니다 내가 공공/javscripts에 필요한 자바 스크립트 파일을 모두 가지고 있지만 오류

ActionController::RoutingError (No route matches [GET] "/assets/all.js"): 

을 제공한다는 것입니다 assets 디렉토리. 나는 설정/application.rb에 있지만 아무 소용이

config.assets.precompile << '*.js' 

을 포함했다.

자산 디렉토리에서 all.js를 작성하기 위해 프리 컴파일을 얻는 방법을 누군가가 알 수 있는지 또는 여기에서 완전히 벗어나면 궁금합니다. 나는 프리 컴파일 함수가 모든 자바 스크립트 파일을 하나의 최적화 된 파일로 컴파일했다는 인상을 받았다.

또한 누구나 초보자가 사전 컴파일 기능을 레일에서 어떻게 작동하는지 알기위한 좋은 링크가 있으면 매우 감사 할 것입니다.

미리 감사드립니다.

답변

2

최상의 가이드는 official rails guide입니다. 그것에 대해 Railscast도 있습니다.

간단히 말해서 Javascript 파일은 사전 컴파일 작업이 처리하고 public/assets 디렉토리에있는 app/assets/javascript에 있습니다. 기본값을 따르는 경우 사전 컴파일 구성 옵션을 변경할 필요가 없습니다. 올바른 헬퍼를 사용하여 파일을 참조하는 것을 잊지 마십시오.

위의 리소스를 읽고 기존 앱을 변환하는 경우 Railscast를 시청하고 가이드의 마지막 섹션을 따르십시오.이 가이드는 올바른 방향으로 사용자를 안내합니다.

+0

링크를 이용해 주셔서 감사합니다. 그것은 "application"대신에 "javascript_include_tag"를 "all"으로 바 꾸었습니다. 난 레일 가이드를 통해 읽은 후 이걸 발견했습니다. – jamesamuir

관련 문제