2011-04-04 120 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中不會發生,因爲默認情況下當前目錄不在加載路徑中。