2012-03-28 6 views
7

레일스 클래스 이름에 숫자가 포함될 수 있습니까? 예 :클래스 이름에 숫자가있는 Rails 루비 파일의 이름을 어떻게 지정합니까?

class Test123 
end 

유효한 클래스입니까? 클래스를로드하려고하면 uninitialized constant Test123 오류가 발생합니다.

+13

왜 당신이 시도하지 않는 그리고 보지? –

+0

'초기화되지 않은 상수 Test123'. 그것은 그것이 유효하지 않다는 것을 의미합니까? @minitech는 그것이 그렇다고 말합니다. –

+0

@ArtemKalinchuk : 오류를 생성하는 코드를 정확하게 표시 할 수 있습니까? – Ryan

답변

39

나는 Artem Kalinchuk의 마지막 코멘트가이 잘못된 질문에 대한 대답이라고 생각한다.

Ruby 클래스 이름은 숫자를 포함 할 수 있습니다.

레일 클래스는 올바르게 명명 된 파일에 정의되어야합니다. NewYear2012Controller이라는 클래스를 정의하면 "new_year_2012_controller.rb"대신 new_year2012_controller.rb 파일에 정의해야합니다.

레일 인플렉터 및 자동 로딩이 작동하는 방식입니다. 나는이 모르는

0

...

참조

class Ab123 
    def initialize(y) 
    @z = y 
    end 
end 

class AbCde 
    def initialize(y) 
    @z = y 
    end 
end 

을 다음과 같은 사례 화 :

Ab123.new x 

또는

AbCde.new x 

만을 후자 AbCde.new x은 올바르게 인스턴스화합니다.

1

시도는이 작업을 수행합니다 :

  • 로 여기에 테이블 _ 마법

를 추가 모델 및 model.rb 파일

  • 의 이름을 변경 :

    class TwoProduct < ActiveRecord::Base 
        self.table_name = '2_products' 
    end 
    
  • 관련 문제