haml中的处理流程如何工作?

时间:2010-10-14 23:44:10

标签: ruby haml

我有一个运行测试服的run.haml文件。一切正常,但我想在用户点击导致他到这个haml的链接后立即显示文本“正在启动测试套件:#{params ['run']}”。

点击的链接告诉haml需要执行什么诉讼

%a(href="run?run=#{file}")

现在测试套装完成后会显示所有内容。正在加载run.haml页面,直到脚本完成。

  • haml 处理流程如何运作?
  • 我可以在页面开始渲染后开始处理作业吗?
  • 我可以在浏览器中显示一些文字,然后让我们调用测试套装吗?

完成测试服的运行需要几分钟。


    !!!  
    %html  
      %head  
        %title Running  
      %body
        = "Starting test suite: #{params['run']}"
        - output = %x[cd C:\\Program Files\\TestPro\\TestPro Automation Framework410 && ant -lib lib -f "C:\\Program Files\\TestPro\\TestPro Automation Framework410\\Output Files\\builds\\#{params['run']}.xml"]
        -#The result is
        %br
        = output.split("\n")[-2,2].join("<BR>")
        = "<br/>"*2
        %a(href="/")back to suits list

1 个答案:

答案 0 :(得分:1)

嗯,看,我的想法是,在函数调用返回之前,它不会呈现所有内容(无论出于何种原因)。

如果是这种情况,您将需要与加载测试工具页面分开处理该功能的结果 - 因此,您需要使用

调用测试套件

这个选择取决于函数(通常)运行所需的时间长度 - 因此,根据复杂性,它可能是BackgrounDRb 之类的好选择, run_laterdelayed_job,甚至是自定义守护程序。

最后,您可能会发现this example of using Sinatra with delayed_job有帮助。