这是负责与XML文件交互的CRUD类。
require "rexml/document"
include REXML
class Crud
@users = Array.new()
def self.get_allusers()
xmlfile = File.new("Users.xml")
doc = Document.new(xmlfile)
XPath.each( doc, "//user") do |e|
user = {:id => e.element['id'], :firstname => e.element['firstname'], :lastname => e.element['lastname']}
@users << user
end
end
end
这就是我尝试从其他文件访问该方法的方法。
users = Crud.new()
puts users.get_allusers()
我收到以下错误:“初始化常量Crud(NameError)”。我不知道这意味着什么。因为我也试图以这种方式访问该方法:
puts Crud.get_allusers()
代码有什么问题?我应该初始化什么?
感谢您的帮助。
答案 0 :(得分:2)
不同的文件需要或者加载crud文件,否则不定义常量。 Ruby中的类是常量,因此在这种情况下未定义的内容是Crud类。