【发布时间】:2012-11-08 02:32:05
【问题描述】:
-#encoding: utf-8
:css
.hidden{display:none;}
%script{:src=>"/javascripts/jquery.js"}
%form{:action=>"https://get724.ccvb.com.tr/Get724/get724uye.aspx",:method=>"post"}
%input.hidden{:type=>"text",:name=>"uyeno",:value=>""}
%input.hidden{:type=>"text",:name=>"kkno",:value=>""}
%input.hidden{:type=>"text",:name=>"gectar",:value=>""}
%input.hidden{:type=>"text",:name=>"tutar",:value=>""}
%input.hidden{:type=>"text",:name=>"dcins",:value=>""}
%input.hidden{:type=>"text",:name=>"sipbil",:value=>""}
%input.hidden{:type=>"text",:name=>"sesbil",:value=>""}
%input.hidden{:type=>"text",:name=>"burl",:value=>""}
%input.hidden{:type=>"text",:name=>"hurl",:value=>""}
- t = Time.now.strftime("%Y%m%d%H%M%S")
- puts t
%input.hidden{:type=>"text",:name=>"zaman",:value=>"#{t}"}
-puts "adfasdf : " + @asdf.to_s
-puts "asdf"
-puts "asdf : " + @asdf.to_s
-puts session[:ewer]
-puts session[:zxcv]
-puts strtodigest
-digest = Digest::SHA1.base64digest(strtodigest)
-puts digest
-#%input{:type=>"text",:value=>"#{strtodigest}"}
-#%input{:type=>"text",:value=>"#{digest}"}
%input.hidden{:type=>"text",:name=>"ozet",:value=>"#{digest}"}
:javascript
$('form').submit();
-puts "End Of Haml"
我有一个类似上面的 haml,我在 Sinatra 应用程序中使用它。当我运行我的应用程序时
haml :problem_haml
每个 ruby 命令都能完美运行,但 haml 不会渲染任何内容。甚至没有一行,但每个以“-”开头的 ruby 命令都完美无缺?可能是什么原因? 请不要回答“因为隐藏的类隐藏了一切”,这与隐藏 css 无关,实际上甚至没有从服务器返回一个字节。
编辑:
我之前说应用是sinatra应用,其实是Padrino应用。虽然 padrino 只是几个在主 sinatra 应用程序中运行的 sinatra 应用程序,而且更多人知道 sinatra,但我说 sinatra 是为了让问题更简单。
这里还有调用haml的代码,
def get3DSecure(ccname,price,skul,ccno,cvc)
puts "#############################################"
puts "get3DSecure function called"
puts "#############################################"
@ccname = ccname
@price = price.to_s + "00"
@skul = skul
@ccno = ccno
@cvc = cvc
session[:name] = ccname
session[:xmltosend] = makeXmlFor3D
session[:sipbil] = UUIDTools::UUID.random_create.to_s.delete!("-")
session[:sesbil] = UUIDTools::UUID.random_create.to_s.delete!("-")
session[:skul] = skul
session[:price] = price
session[:ccno] = ccno
session[:cvc] = cvc
puts "#############################################"
puts "get3DSecure function near end, render starts"
puts "#############################################"
render :adsecure,:layout=>:main
end
它还会毫无问题地将 puts 命令写入控制台。
【问题讨论】:
-
这里将由 Haml 生成的 HTML 不会显示在浏览器中。你说“服务器连一个字节都没有返回”——你确定吗?如果是这种情况,那么这可能不是 Haml 问题。如果您在浏览器中查看源代码,您能看到 HTML。请注意,使用
puts将写入标准输出(可能是终端),不会写入您的 HTML 页面。 -
是的,我确定,没有任何返回,只是一个空页面(来源)。