初始化常量<name of =“”my =“”class =“”>(NameError)</name>

时间:2012-10-30 19:25:45

标签: ruby

这是负责与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()

代码有什么问题?我应该初始化什么?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

不同的文件需要或者加载crud文件,否则不定义常量。 Ruby中的类是常量,因此在这种情况下未定义的内容是Crud类。