레일 컨트롤러가 범위를 잘못 해석하기 때문에 클래스 정의를 찾을 수 없다는 문제가 있습니다.레일 컨트롤러의 클래스 범위 문제 해결
특히, 내와 ApplicationController에 :
require 'memcache'
$memcache = MemCache.new("localhost:11211")
이 작동하지 않습니다. 오류가 발생합니다 :
ActionController::RoutingError (uninitialized constant ApplicationController::MemCache):
레일스는 MemCache 클래스가 어떻게 든 ApplicationController의 범위에 있어야한다고 생각합니다.
누구나 이유가 무엇입니까?
또한이 코드는 상속됩니다. Memcache 연결을 이니셜 라이저에 넣는 것이 더 나은 방법입니까? 그렇다면 컨트롤러에서 어떻게 연결합니까?
감사를 사용해야합니다. 나는 그것을 들여다 보았고, 그것은 확실히 옵션처럼 보인다. 하지만 지금은 응용 프로그램에서 모든 Memcache 액세스를 다시하고 싶지 않아, 난 그냥이 일을하고 싶습니다. 잠시 동안 작동하지만 내 컴퓨터에 로컬 설치를 수행 할 때 그렇게하지 않습니다. –