Направляющие 2,3 сессии

Я сказал бы даже, что никакая программа еще никогда не должна использовать. Если Вы делаете Вы напрашиваетесь на неприятности. Вы никогда не должны принимать, не является ли это X, это должен быть Y. Ваши тесты должны протестировать на каждого индивидуально и сбой после таких тестов.

6
задан DreadPirateShawn 11 July 2009 в 21:25
поделиться

3 ответа

Я столкнулся с той же проблемой программирование корзины покупок. На самом деле есть две проблемы. Начиная с rails 2.3, сеансы загружаются лениво, и сеанс [: session_id] больше не работает. Вы должны получить доступ к сеансу, прежде чем сможете с ним работать.

puts request.session_options[:id]
session[:session_id] # this forces load of the session in Rails 2.3.x
puts request.session_options[:id]

Это выводит:

nil
78eb1e371f3378ed98874f9ce372d652

Обновление : session.session_id устарело, поэтому используйте вместо него request.session_options [: id].

Обновление 2 : это будет исправлено в 3.x (а не в 2.3.5) https://rails.lighthouseapp.com/projects/8994/tickets/2268-rails-23-session_optionsid-problem

Greg

10
ответ дан 8 December 2019 в 18:40
поделиться

Я мог бы использовать этот патч для 2.3.5

http://github.com/rails/rails/commit/e0f1a7dc191ffebc9f6cadb6232e567fee8aa491

не добавляйте наследование хэша в CookieStore, хотя

0
ответ дан 8 December 2019 в 18:40
поделиться

Я предпочитаю использовать этот метод для регистрации ID сессии (но Rails 2.2 также сохраняет ID сессии в лог-файле без каких-либо изменений)

application_controller.rb
  before_filter :log_session_id

  private
  def log_session_id
    session[:session_id]
    logger.info "Session ID: " + request.session_options[:id]
  end
end
3
ответ дан 8 December 2019 в 18:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: