【发布时间】:2016-05-29 10:32:00
【问题描述】:
我正在使用 Sinatra,并且有以下代码用于设置:
require 'sinatra/base'
class MyServer < Sinatra::Base
def initialize()
puts 'initialize'
super(app)
@my_thing = Something.new
end
run! if app_file == $0
end
class Something
def initialize
@a_thing
end
end
当我运行 ruby test.rb 时,我收到此错误:
处理请求时出现意外错误:未初始化常量 MyServer::Something
这表明它期望Something 是MyServer 域中的一个类(我最近才开始使用Ruby,所以不知道正确的术语)。将Something 类移动到MyServer 类内部,它可以工作。
这对于写在这个文件中的类来说很好,但是我想从一个相关文件中添加一个类作为属性。我尝试将require_relative 语句移到类内部,但没有奏效。
有没有办法告诉它这不是当前框架的一部分,或者我应该以其他方式处理这种情况?
【问题讨论】: