2011-04-04 79 views
0

我只安装倾斜:倾斜模板引擎初始化

gem list 
tilt (1.2.2) 

ruby -v 
ruby 1.8.6 (2009-06-08 patchlevel 369) [universal-darwin9.0] 

我只是尝试tilt.rb

require 'rubygems' 
require 'haml' 
require 'tilt' 
template = Tilt::HamlTemplate.new('haml/about.haml') 

https://github.com/rtomayko/tilt

基本的例子,它抛出:

./tilt.rb:4: uninitialized constant Tilt (NameError) 
    from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:29:in `gem_original_require' 
    from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:29:in `require' 
    from tilt.rb:3 

A你有想法吗? 谢谢!

回答

3

您已将您的应用程序文件tilt.rb命名为,因此当您拨打require 'tilt'时,该文件尝试要求自己。你的文件没有定义Tilt,所以你会看到你看到的错误。

该错误实际上是在文件被要求时发生的。它不属于递归循环,因为require会跟踪所需的文件,并且不会尝试重新加载它们。

将您的文件重命名为tilt.rb以外的文件,例如tilt-test.rb,并且不要将原始文件保留在同一个目录中,它应该可以工作。

顺便说一句,这在Ruby 1.9中不会发生,因为默认情况下当前目录不在加载路径中。