Я продолжаю получать противоречивые мнения о практике хранения информации в хэше Thread.current
(например, current_user, текущий поддомен и т. Д.) ). Этот метод был предложен как способ упростить последующую обработку на уровне модели (определение объема запросов, аудит и т. Д.).
Многие считают эту практику неприемлемой, поскольку она нарушает шаблон MVC. Другие выражают озабоченность по поводу надежности / безопасности подхода, и мои две части вопрос фокусируется на последнем аспекте.
Гарантируется ли, что хэш Thread.current
будет доступным и приватным для одного и только одного ответа на протяжении всего цикла?
Я понимаю, что поток в конце ответа может может быть передан другим входящим запросам, что приведет к утечке любой информации, хранящейся в Thread.current
. Будет ли достаточно очистить такую информацию до окончания ответа (например, путем выполнения Thread.current [: user] = nil
из after_filter
] контроллера) для предотвращения такого нарушения безопасности?
Спасибо! Джузеппе