2011-01-14 3 views
2

그래서, 나는 내 config.load_pathsconfig.autoload_paths로 변경할 필요가 있다고 생각하지만 난 것을했을 때, 나는이 예외 보는 시작 : 레일 2에서레일 3 autoload_paths 2 load_paths

Expected /path/to/myapp/app/helpers/controllers/my_helper.rb to define Controllers::MyHelper 

를, 그것은 불평하지 않았 도우미/컨트롤러 폴더에 대해,하지만 지금은 그것이 네임 스페이스 모듈을 기대하는 것 같습니다. 내 모든 도우미 이름을 변경 했습니까? 아니면 다른 방법으로이 기능을 사용할 수 있습니까? 헬퍼/모델 헬퍼/뷰와 헬퍼/컨트롤러를 사용하여 헬멧을 사용하는 헬퍼가 너무 많습니다.

미리 감사드립니다.

+0

내가 'Controllers :: MyHelper'로 이름을 바꿨을 때,'MyHelper' 롤을 기대하고 있다고 불평했습니다. Rails 3에서 헬퍼를 구성 할 수있는 방법이 있습니까? – a10s

+1

컨트롤러에서 어떤 종류의 도우미를 사용하고 있습니까? 일반적으로 도우미가 의견을 제시합니다. 컨트롤러에 공유 기능이 필요한 경우 ApplicationController에 컨트롤러를 포함시켜 컨트롤러가 상속 받도록하거나 모듈이나 lib /에 저장하고 포함 시키십시오. –

답변

0

Rails 3의 파일 명명 규칙은 성능상의 이유로 레일스 2보다 훨씬 엄격합니다. Rails 3에서는 파일 구조가 클래스 계층 구조와 직접 일치 할 것으로 기대합니다.

레일즈 3에서 응용 프로그램을 실행하려면 helper 디렉토리를 삭제하거나 Controllers::을 각 클래스 선언 앞에 추가하는 것이 좋습니다.

+0

불행히도 이것이 올바르지 않습니다. 실제로는 레일 3 것입니다. –

+0

감사합니다. Asfand, 그에 따라 답변을 업데이트했습니다. –

0

레일즈 3은 파일 이름과 디렉토리 계층 구조에 따라 클래스가 네임 스페이스가 될 것으로 예상하므로 보조자의 이름을 Controllers::MyHelper으로 바꿔야합니다.