У меня есть сервис, который позволяет встраивать опрос в страницу. Этот опрос делает междоменные вызовы ajax на мой сервер со страниц, размещенных где угодно.
Служба работает на рельсах 3. Я пытаюсь сохранить индекс последнего вопроса, на который был дан ответ в сеансе. Магазин ActiveRecord активен. Сервис размещен на героку. Я перенес сессионный стол и сгреб его.
Но значения не сохраняются в сеансе. Это проблема, которую я не могу обойти, или возможно, чтобы сессии работали таким образом?
Вот иллюстрация проблемы:
Rails.logger.info { "session current stage is #{session[:current_stage]}" }
session[:current_stage] = params[:current_stage].to_i
session[:current_stage] ||= 0
Rails.logger.info { "session current stage is #{session[:current_stage]}" }
вывод выглядит так:
session current stage is 0
session current stage is 1
При следующем запуске (после значения сеанса 1):
session current stage is 0
session current stage is 2
Или просто мои сеансы не работают должным образом, независимо от междоменных проблем?
Просто быстрое добавление: создается впечатление, что уникальный сеанс создается при каждом ударе по серверу, а не восстанавливается в следующий раз. Он рассматривает каждый вызов как новое, беспрецедентное событие. Я полагаю, что это побочный продукт кросс-доменной работы. Любые решения?