Это происходит в Rails 3.0.7 и 3.0.9, WEBrick и Apache.
У меня есть модуль Reportable
, у которого есть метод, который записывает inheritable_attribute
:
module Reportable
module ClassMethods
def add_report(report_name)
instance_eval do
write_inheritable_hash(:reportable_report_names,
{report_name => {:dates => true, :details => 'something'})
end
end
end
end
def self.included(base)
base.extend(ClassMethods)
end
end
Reportable
загружается в config/initializers
и класс использует его:
class User < ActiveRecord::Base
include Reportable
add_report :report1
add_report :report2
end
В рабочем режиме при первой загрузке страницы после запуска сервера атрибут загружается правильно:
User.read_inheritable_attribute(:reportable_report_names)
# => {:report1 => {:dates => true, :details => 'something'},
:report2 => {:dates => true, :details => 'something'}}
Но при загрузке второй страницы:
User.read_inheritable_attribute(:reportable_report_names)
# => {:report1 => {:dates => true},
:report2 => {:dates => true}}
Работает как положено в разработке и в консоли в производственном режиме.Проблема появляется только в запросе POST на веб-сервере в производственном режиме.Что дает?