레일스 클래스 이름에 숫자가 포함될 수 있습니까? 예 :클래스 이름에 숫자가있는 Rails 루비 파일의 이름을 어떻게 지정합니까?
class Test123
end
유효한 클래스입니까? 클래스를로드하려고하면 uninitialized constant Test123
오류가 발생합니다.
레일스 클래스 이름에 숫자가 포함될 수 있습니까? 예 :클래스 이름에 숫자가있는 Rails 루비 파일의 이름을 어떻게 지정합니까?
class Test123
end
유효한 클래스입니까? 클래스를로드하려고하면 uninitialized constant Test123
오류가 발생합니다.
나는 Artem Kalinchuk의 마지막 코멘트가이 잘못된 질문에 대한 대답이라고 생각한다.
Ruby 클래스 이름은 숫자를 포함 할 수 있습니다.
레일 클래스는 올바르게 명명 된 파일에 정의되어야합니다. NewYear2012Controller
이라는 클래스를 정의하면 "new_year_2012_controller.rb"대신 new_year2012_controller.rb 파일에 정의해야합니다.
레일 인플렉터 및 자동 로딩이 작동하는 방식입니다. 나는이 모르는
예, Ruby class names may contain numbers. 그러나 Ruby의 모든 식별자와 마찬가지로 they may not begin with numbers.
식별자
예 :
foobar ruby_is_simple
루비 식별자, 알파벳 십진수와 밑줄로 구성되어 있으며, 포함 (a 알파벳 시작 밑줄). Ruby 식별자의 길이는 입니다.
...
참조
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
은 올바르게 인스턴스화합니다.
시도는이 작업을 수행합니다 :
를 추가 모델 및 model.rb 파일
class TwoProduct < ActiveRecord::Base
self.table_name = '2_products'
end
왜 당신이 시도하지 않는 그리고 보지? –
'초기화되지 않은 상수 Test123'. 그것은 그것이 유효하지 않다는 것을 의미합니까? @minitech는 그것이 그렇다고 말합니다. –
@ArtemKalinchuk : 오류를 생성하는 코드를 정확하게 표시 할 수 있습니까? – Ryan