2009-08-13 2 views
2

이름이 User 인 2 개의 다른 클래스가 있고 FooModule에 하나를 말하고 다른 모델을 app/models/user.rb에 넣으면 올바른 것을 사용하고 있는지 어떻게 확인합니까?Ruby on Rails에서 모델의 정규화 된 이름은 무엇입니까?

편집 : FooModule::User 분명히 정확한 것을 알려줄 것입니다. 내가 물어 의미했다 무엇

했다 : ApplicationControllerUser 또는 ::User는 여전히 나에게 app/models/user을 줄 것이다, FooModule 포함 경우? 그냥 사용자를 사용하는 경우

답변

6

일반적으로 자신의 전체 이름, FooModule :: 사용자 및 :: 사용자를 사용하여 참조하십시오, 당신이 FooModule 내에있는 경우가 아니면, :: 사용자를 의미 가정한다. 어느 쪽이든, FooModule :: User 또는 :: User를 사용하여 확신하십시오.

+0

모듈이 ActiveRecord 모델과 동일한 이름, 즉'Foo :: User' 및':: Foo' 인 경우 이것은 작동하지 않는 것 같습니다. ':: Foo.new'를 호출하면 Foo : Module'에 대해'undefined method \'new '오류가 발생합니다. – Chloe

관련 문제