sinatra / haml中未初始化的常量Tilt :: CompileSite :: Nokogiri错误

时间:2010-10-21 23:30:45

标签: ruby sinatra nokogiri

我有一个双线脚本,可以很好地用于ruby。我把它移到haml并得到错误

NameError at / uninitialized constant Tilt::CompileSite::Nokogiri

haml代码:

      %td
        - @doc = Nokogiri::XML(File.open(file))
        = @doc.xpath("//testsuite").each_with_index {|node,index| "#{index+1}. #{node.attributes["name"].value}<BR>" }

我知道如何让它发挥作用?

在Win XP SP3上使用以下

  • ruby​​ 1.8.7(2010-08-16 patchlevel 302)[i386-mingw32]
  • nokogiri(1.4.3.1 x86-mingw32)
  • sinatra(1.0)
  • thin(1.2.7 x86-mswin32)

2 个答案:

答案 0 :(得分:1)

试试这个:

%td
  - @doc = ::Nokogiri::XML(File.open(file))
  = @doc.xpath("//testsuite").each_with_index {|node,index| "#{index+1}. #{node.attributes["name"].value}<BR>" }

答案 1 :(得分:0)

仍然不知道为什么会发生错误但是我通过在sinatra文件中定义的函数并在haml文件中调用它来解决它= get_testsuite(file)

def get_testsuite (file)

  @doc = Nokogiri::XML(File.open(file))
  output = Array.new
  @doc.xpath("//testsuite").each_with_index {|node,index|
    output << "#{index+1}. #{node.attributes["name"].value}<BR>"
  }
  return output
end