【发布时间】:2014-03-20 01:29:58
【问题描述】:
有没有一种简单的方法可以通过 Ruby 中的类方法来初始化类变量?我正在尝试这个:
class MyClass
@@product_families = MyClass.load_pgrollups(File.join(File.dirname(__FILE__), ASSETS_FOLDER_NAME, PGROLLUP_CSV_FILENAME))
def self.load_pgrollups(csv_file)
....
return product_families
end
我遇到了一个异常:ModuleName::myClass:Class 的未定义方法 `load_pgrollups'
我不一定要初始化类变量。我还尝试通过模块函数初始化模块中的常量
module ModuleName
PRODUCT_FAMILIES = load_pgrollups(File.join(File.dirname(__FILE__), ASSETS_FOLDER_NAME, PGROLLUP_CSV_FILENAME))
def load_pgrollups(csv_file)
....
return product_families
end
但我得到了MyModule:Module 的未定义方法`load_pgrollups'
【问题讨论】:
-
ruby 中的类名不以小写开头,其次你从哪里得到
DataHandler?? -
DataHandler 应该变成 myClass 因为我试图用通用名称替换大多数名称。我正在编辑现有的 Ruby 代码。我之前没有任何Ruby经验,也不知道类名不能以小写字母开头。感谢您的评论。
-
@bjhaid,用您的 cmets 编辑了问题
标签: ruby-on-rails ruby