2012-08-13 4 views
2

레일 3.1을 사용하고 있으며 1 년 반 동안 개발 중입니다. 오늘 아침에 뭔가를 했어야했는데 내 파일이 많이 캐싱 된 것처럼 보입니다. 여기에는 뷰 파일, 컨트롤러 및 모델이 포함됩니다.레일 : 컨트롤러와 모델이 dev에서 캐시 된 것 같습니다

모델, 컨트롤러 등을 변경할 수 있으며 내 응용 프로그램에 영향을 미치지 않습니다 (localhost : 3000에서 실행). 포트 (예 : localhost : 3005)로 전환하려고했지만 작동하지 않았습니다.

컴퓨터 (Mac, Lion)에서 구성 파일을 변경하거나 크게 변경하지는 않았지만 분명히해야 할 일이 있습니다.

  • 나는 맥
  • 공용 폴더 내가/캐시/자산 폴더
  • 을 삭제 한
  • 404-페이지 등을 제외하고 비어에 TextMate를 사용하고
  • 개발 모드에서 작업하고
  • 나는 내 브라우저 서버를 다시 시작하는 것은 항상 작동하게

에 캐시를 삭제 한! 때로는 (매우 드물 긴하지만) 재시작없이 변경 사항이 적용되기도합니다.

이 내 development.rb입니다 :

# Settings specified here will take precedence over those in config/application.rb 

    # In the development environment your application's code is reloaded on 
    # every request. This slows down response time but is perfect for development 
    # since you don't have to restart the web server when you make code changes. 
    config.cache_classes = false 

    # Log error messages when you accidentally call methods on nil. 
    config.whiny_nils = true 

    # Show full error reports and disable caching 
    config.consider_all_requests_local  = true 
    config.action_controller.perform_caching = false 

    # Don't care if the mailer can't send 
    config.action_mailer.raise_delivery_errors = false 

    # Print deprecation notices to the Rails logger 
    config.active_support.deprecation = :log 

    # Only use best-standards-support built into browsers 
    config.action_dispatch.best_standards_support = :builtin 

    # Raise exception on mass assignment protection for Active Record models 
    config.active_record.mass_assignment_sanitizer = :strict 

    # Log the query plan for queries taking more than this (works 
    # with SQLite, MySQL, and PostgreSQL) 
    config.active_record.auto_explain_threshold_in_seconds = 0.5 

    # Do not compress assets 
    config.assets.compress = false 

    # Expands the lines which load the assets 
    config.assets.debug = true 
일어날 수 있고 어떻게 해결하거나 문제를 해결하는 일

?

+0

설정 한 후 다시 false로 "= 사실 config.cache_classes을"TextMate를 사용하고

문제 ... 단서가 될 수 해결 일시적으로 갖고있는 것 같다? – Christoffer

+0

이 문제를 해결할 수 있었습니까? 정확히 똑같은 일이 발생했습니다. 컴퓨터마다 다른 것 같습니다.내 컴퓨터에서 그것은 내 동료 컴퓨터에서 지속적으로 수업을 캐시합니다. – DickieBoy

답변

2

아마도 당신은 당신이보고 있다고 생각하는 것을보고 있지 않습니다. 가장 일반적인 이유는 앱을 실행할 때보고있는 폴더 대신 프로젝트의 복사본을 사용한다는 것입니다.

또는 development.rb (config.cache_classes = false)가 엉망입니다.

캐싱을위한 팁 :이 페이지에는 모든 캐싱 기술이 있습니다. 페이지 캐시에 관한 것 (Ruby 스택을 통과하지 않는 곳)을보십시오.

http://guides.rubyonrails.org/caching_with_rails.html

다른 팁 : 새 폴더로 전체 프로젝트를 복사하기 때문에 OS에 의한 폴더 마법을 방해하지 않습니다.

개발 로그에 어떤 일이 일어나고 있는지에 대한 힌트가 표시되지 않습니까? 특히 당신이 당신의 주요 모델 중 하나에 일종의 불법 코드를 넣는다면 (정말로 그걸 부셔 야합니다.) ...

+0

대부분보기 (예 : application.html.erb)가 잘 작동하기 때문에 그럴 수는 없습니다 ... – Christoffer

+0

오, config.cache_classes는 false로 설정해야합니다. (그것은 나를위한 것이고 나는 그것을 바 꾸었습니다). – Christoffer

+0

두 번째가 참이 아니라면 (가정이 맞음), 첫 번째가 참이어야합니다. 사용중인 파일을 편집하지 않고 웹 페이지를 생성합니다. 최근 목록에서 편집하고 명령 행에서 시작 하시겠습니까? 최근 목록을 사용하지 않고 파일을 열고 경로를 다시 확인하십시오. –

2

나는 이미 같은 문제가있었습니다.

내 문제가 해결 된 파일 내 development.rb에 다음 줄을 추가 한 후 :

config.reload_classes_only_on_change = false 

캐시이 문제가 오는 이유를 이해하지 않습니다. 이 문제가 발생하는 것보다 2 주 동안 모든 것이 잘 작동했습니다. 나는 어쩌면 ...

관련 문제