如何命名其类名具有数字的Rails ruby文件?
Rails类名称可以包含数字吗? 例如:
class Test123 end
这是一个有效的课程吗? 当我尝试加载类时,我得到一个uninitialized constant Test123
错误。
我认为Artem Kalinchuk的最后评论应该是这个错误问题的答案。
Ruby类名称可以包含数字。
必须在正确命名的文件中定义Rails类。 如果我定义一个名为NewYear2012Controller
的类,则需要在new_year2012_controller.rb文件中定义它而不是“new_year_2012_controller.rb”。
因为这是Rails变形器和自动加载的工作原理。
是的, Ruby类名可能包含数字 。 但是,与Ruby中的所有标识符一样, 它们可能不以数字开头 。
参考 :
身份标识
例子:
foobar ruby_is_simple
Ruby标识符由字母,十进制数字和下划线字符组成,并以字母(包括下划线)开头。 Ruby标识符的长度没有限制。
尝试这样做:
- 重命名您的模型和model.rb文件
- 添加table_name magic
在这里:
class TwoProduct < ActiveRecord::Base self.table_name = '2_products' end
我不知道这个……
请参阅以下内容
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
才能正确实例化。