0

我在使用rackup.

这是我的 config.ru:

$:.unshift "#{File.dirname(__FILE__)}/lib/"
require 'blogrite'

run Blogrite::Server.new(:with => :test)

调用rackup config.ru抛出:

[~/Code/blogrite master] rackup config.ru 
/Users/josemota/Code/blogrite/lib/blogrite/server.rb:2:in `<module:Blogrite>': uninitialized constant Blogrite::Server (NameError)
from /Users/josemota/Code/blogrite/lib/blogrite/server.rb:1:in `<top (required)>'
from /Users/josemota/Code/blogrite/config.ru:5:in `block in <main>'
...

您可以在Github中查看完整的项目。我不明白我得到的原因NameError

4

1 回答 1

0

我找到了出现此错误的原因。显示的 NameError 是从模块中触发的,它无法正确识别路径。

@Dogbert 正确地指出自动加载可能不起作用。根据 Dave Barker 在他的帖子中的说法,自动加载的类必须在$:/中包含当前路径$LOAD_PATH。我这样做了,现在它可以工作了。

结果提交现在可用。感谢@Dogbert 首先指出自动加载问题!

于 2011-06-26T00:38:23.617 回答