如何命名其类名具有数字的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才能正确实例化。