get '/test' do
session[:my_session_id] = generate_random_id()
puts 'begin haml debug'
haml :"static/haml_page", :locals=>{:session_id => session[:my_session_id]}
end
我在日志中看到上面的页面经常被调用两次:
begin haml debug
127.0.0.1 - - [02/Nov/2012 00:00:01] "GET / HTTP/1.1" 200 4317 1.5421
127.0.0.1 - - [02/Nov/2012 00:00:01] "GET /js/base/jquery.pjax.002902.js HTTP/1.1" 304 - 0.0234
[2012-11-02 00:00:01] WARN Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true
127.0.0.1 - - [02/Nov/2012 00:00:01] "GET /css/docs.002902.css HTTP/1.1" 200 165 0.1086
.................................
begin haml debug
127.0.0.1 - - [02/Nov/2012 00:00:04] "GET / HTTP/1.1" 200 4317 1.9288
这让我有些问题。为什么会这样?
答案 0 :(得分:2)
由于类似的问题,我已经转移到Webrick的Puma服务器。 不幸的是我丢失了这个问题的示例代码。 无论如何,如果你有这样的问题,请了解brouser的作用:
很抱歉在这里发帖,我不知道如何发布这个作为你的问题的补充。
答案 1 :(得分:0)
这是一个黑客,但如果你真的需要让它只运行一次代码: 创建一个全局布尔变量。在路由中,将所有内容都包含在布尔值的条件中。如果为false,则将其设置为true,运行代码并再次将其设置为false。