Tên lớp Rails có thể chứa số không? Ví dụ:Làm cách nào để đặt tên cho tệp ruby Rails có tên lớp có số?
class Test123
end
Đây có phải là lớp hợp lệ không? Tôi gặp lỗi uninitialized constant Test123
khi tôi cố tải lớp học.
Tên lớp Rails có thể chứa số không? Ví dụ:Làm cách nào để đặt tên cho tệp ruby Rails có tên lớp có số?
class Test123
end
Đây có phải là lớp hợp lệ không? Tôi gặp lỗi uninitialized constant Test123
khi tôi cố tải lớp học.
Tôi nghĩ nhận xét cuối cùng của Artem Kalinchuk xứng đáng là câu trả lời cho câu hỏi khó hiểu này.
Tên lớp Ruby có thể chứa số.
A Đường ray lớp học phải được xác định trong tệp được đặt tên chính xác. Nếu tôi xác định một lớp được gọi là NewYear2012Controller
, nó cần phải được xác định trong tệp new_year2012_controller.rb thay vì "new_year_2012_controller.rb".
Bởi vì đây là cách hoạt động của tính năng tăng tải và tự động tải Rails.
Có, Ruby class names may contain numbers. Tuy nhiên, giống như tất cả số nhận dạng trong Ruby, they may not begin with numbers.
định danh
Ví dụ:
định danhfoobar ruby_is_simple
Ruby là bao gồm bảng chữ cái, chữ số thập phân, và ký tự gạch dưới, và bắt đầu với một bảng chữ cái (bao gồm cả gạch dưới). Không có giới hạn về độ dài số nhận dạng Ruby.
Tôi không biết về vấn đề này ...
Xem sau
class Ab123
def initialize(y)
@z = y
end
end
class AbCde
def initialize(y)
@z = y
end
end
và instantiations sau:
Ab123.new x
hoặc
AbCde.new x
Chỉ sau AbCde.new x
instantiates đúng cách.
Cố gắng làm điều này:
như ở đây:
class TwoProduct < ActiveRecord::Base
self.table_name = '2_products'
end
Tại sao bạn không thử nó và thấy không? –
'hằng số không xác định Test123'. Điều đó có nghĩa là nó không hợp lệ? @minitech nói rằng nó là. –
@ArtemKalinchuk: Bạn có thể hiển thị mã chính xác tạo ra lỗi đó không? – Ryan