2011-10-20 4 views
3

나는 사용자가 로그인/로그 아웃 할 수있는 등의 작은 응용 프로그램을 만들었습니다. 데이터베이스로 mySQL을 사용하고 있으며 모든 것이 로컬 환경에서 잘 작동합니다. 그러나 그것을 영웅에게 배포하고 데이터베이스를 이전 한 후에는 영웅 버전이 작동하지 않습니다. 나는이납니다 때 꼬리 로그 :"죄송하지만 뭔가 잘못되었습니다." Heroku에 배포 한 후

2011-10-20T18:48:22+00:00 app[web.1]: Started GET "/" for 83.233.57.240 at 2011-10-20 11:48:22 -0700 
2011-10-20T18:48:22+00:00 app[web.1]: Processing by HomeController#index as HTML 
2011-10-20T18:48:22+00:00 app[web.1]: Rendered home/index.html.erb within layouts/application (0.0ms) 
2011-10-20T18:48:22+00:00 app[web.1]: Completed 500 Internal Server Error in 2ms 
2011-10-20T18:48:22+00:00 app[web.1]: 
2011-10-20T18:48:22+00:00 app[web.1]: ActionView::Template::Error (defaults.js isn't precompiled): 
2011-10-20T18:48:22+00:00 app[web.1]:  3: <head> 
2011-10-20T18:48:22+00:00 app[web.1]:  4:  <title><%= content_for?(:title) ? yield(:title) : "Untitled" %></title> 
2011-10-20T18:48:22+00:00 app[web.1]:  5:  <%= stylesheet_link_tag "application" %> 
2011-10-20T18:48:22+00:00 heroku[router]: GET afternoon-lightning-2154.heroku.com/ dyno=web.1 queue=0 wait=0ms service=7ms status=500 bytes=728 
2011-10-20T18:48:22+00:00 app[web.1]:  6:  <%= javascript_include_tag :defaults %> 
2011-10-20T18:48:22+00:00 app[web.1]:  7:  <%= csrf_meta_tag %> 
2011-10-20T18:48:22+00:00 app[web.1]:  8:  <%= yield(:head) %> 
2011-10-20T18:48:22+00:00 app[web.1]:  9: </head> 
2011-10-20T18:48:22+00:00 app[web.1]: app/views/layouts/application.html.erb:6:in `_app_views_layouts_application_html_erb___2280146998680186378_39052620' 
2011-10-20T18:48:22+00:00 app[web.1]: 
2011-10-20T18:48:22+00:00 app[web.1]: 
2011-10-20T18:48:22+00:00 app[web.1]: cache: [GET /] miss 

나는 그것이 어떤 점에서 500 오류를 완료 한 것을 볼 수 있습니다,하지만 난 왜 아무 생각이 없습니다. 이것에 어떤 제안? 미리 감사드립니다! 당신은 설정/환경/생산

# Fallback to assets pipeline if a precompiled asset is missed 
config.assets.compile = true 

이이

답변

14

확인은 기본적으로 문제는 당신의 자산이 자동으로 컴파일되지 않는 것입니다. 여기

상세 정보 : http://devcenter.heroku.com/articles/rails31_heroku_cedar

편집 : 레일 3.1에서

우리는 자산 파이프 라인을 사용하는 것입니다. 즉, 모든 애셋 (이미지, 자바 스크립트, CSS)을 app/assets에 넣어야합니다. 3.1 이전에는 public/**/*에 넣으십시오.

개발 모드에서 Rails 3.1은 모든 자산을 자동으로 컴파일 (JS 및 CSS를 축소하고 이미지를 base64로 변환하는 경우 등)하여 작은 버전의 패키지를 만듭니다.

실제 예를 들어 프로젝트에서 bundle exec rake assets:precompile을 실행하십시오. public/에있는 새 폴더를 확인하십시오. 나중에 안전하게 삭제할 수 있습니다.

프로덕션 모드에서 이것은 자동이 아닙니다. 자산을 자동으로 컴파일하거나 배포하기 전에 수동으로 bundle exec rake assets:precompile을 실행할 수 있습니다. 유용한 자산 파이프 라인 http://guides.rubyonrails.org/asset_pipeline.html

상세 정보 : https://github.com/dnagir/guard-rails-assets

+0

에 Beautifull는 .... 실제로 이미 한 번 시도했지만 작동하지 않았다. 내가 그것을 한 두 번째 때, 그것은 효과가 있었다. 그것이 실제로 무엇을하는지 말해 줄 수 있습니까? 정말 고맙습니다. –

+1

@ HolgerEdwardWardlowSindbæk : 편집 확인 – Nerian

+0

당신은 나를 놀리고 있어요 ... 당신은 방금 내 CSS 문제도 해결했습니다! 그것은 어떤 이유로 CSS를 선택하지 않는 것 같았지만 그것을 컴파일하는 데 도움이되었습니다. 내가 변화를 만들 때마다이 일을해야합니까 아니면 일회성일까요? –

관련 문제