0

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

我收到以下错误:"initialized constant Crud (NameError)"。我不知道这意味着什么。因为我也尝试过以这种方式访问​​该方法:

puts Crud.get_allusers()

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

感谢您的帮助。

4

1 回答 1

2

不同的文件需要 require 或加载 crud 文件,否则没有定义常量。Ruby 中的类是常量,因此本例中未定义的常量是 Crud 类。

于 2012-10-30T19:40:36.640 回答