ActiveRecord가 아닌 모델을 정의하는 Rails 3 앱이 있습니다. 이 모든 것은 app/models/module_name
에 정의되어 있습니다. 나는 all_autoload_paths에서 다음을 가지고 있습니다 :비 ActiveRecord 모델의 레일로드
[4] pry(main)> app._all_autoload_paths
=> ["/Users/mandar/myapp/lib",
"/Users/mandar/myapp/app/assets",
"/Users/mandar/myapp/app/controllers",
"/Users/mandar/myapp/app/helpers",
"/Users/mandar/myapp/app/models"]
모델을로드 할 때 다음 두 클래스 정의를 처리하는 방법에는 차이가 있습니까?
class A::Y
# some code
end
나는이 물어 그 이유
module A
class X
# some code
end
end
및
내가uninitialized constant A::Y - NameError
오류를 본 적이 가끔있다.
업데이트 : Sibevin의 대답에 이어이 부분을보다 명확하게 말하고 싶습니다. 현재, 나는 다음과 같은 파일 구조를 가지고 :
내가 그러나 거의 결코 X 용감사합니다 도움 들어, ModuleName::ClassName
구문을 사용 Y에 대한 오류를 보았다
app
- models
- a
- x.rb
- y.rb
!
내가 현재 가지고있는 파일 구조입니다. 정확하지 않은 것에 대해 유감입니다. 그에 따라 질문을 업데이트하겠습니다. –