2012-11-01 1 views
4
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 

Я вижу в журнале, что страница выше постоянно вызывается дважды:страница Haml Синатра вызывается дважды

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 

Это заставляет меня есть некоторые проблемы. Почему это происходит?

+1

Это происходит, когда вы пытаетесь использовать его в другом браузере или, возможно, закручиваться? например 'curl http: // localhost: 9292' – iain

+0

Нет, это не так! Chrome запрашивает его дважды. Зачем? –

+0

Ваш маршрут говорит 'get '/ test'', но ваш журнал говорит' GET/'. вы изменили пример из реальной вещи? – matt

ответ

2

Я перешел на сервер Puma, инсталлированный в Webrick из-за подобных проблем. К сожалению, я проиграл пример кода с этой проблемой. В любом случае, если у вас есть такие проблемы, пожалуйста, узнать, что броузер делает:

  1. инструмент> Сеть (вкладка) Разработчики покажет точную Sourse запроса, если он существует
  2. Try, чтобы сузить этот выпуск/ошибка за счет сокращения кода, т.е. комментарий все JavaScripts, содержание изменения страницы на «Hello Уолд» и наблюдаем проблема все еще происходит
  3. Поделитесь код :)

к сожалению для размещения здесь, я не знаю, как этот пост как addit ион к вашему правилу.

+0

Я не могу переехать в Пуму. –

0

Это взлом, но если вам действительно нужно заставить его запускать код только один раз: Создайте глобальную логическую переменную. в маршруте, оберните все в условном булевом. если false, установите его true, запустите свой код и снова установите false.

Смежные вопросы