У меня есть относительно большое приложение Rails (198 моделей), где у нас есть константы, определенные в некоторых моделях (т. Е. Магические числа).На эти константы иногда ссылаются из других моделей как часть определения класса.
Придуманный пример:
class Employee < ActiveRecord::Base
TYPES = [ 1234, 5678 ]
end
class CommissionType < ActiveRecord::Base
validates :employee_type, :inclusion => { :in => Employee::TYPES }
end
Когда приложение загружается, мы получаем предупреждающие сообщения, такие как:
employee.rb:2: warning: already initialized constant TYPES
Я не знаю, что является причиной этого, поскольку кажется, что файл employee.rb загружается дважды, и, следовательно, класс определяется дважды.Будет ли это также использовать вдвое больший объем памяти в Ruby, определяя все дважды?
Я проверил, что модели явно не требуют друг друга.Хотя я мог перенести эти константы в инициализаторы, все же кажется, что что-то не так с моделями, которые определяются более одного раза.
Является ли это поводом для беспокойства?Или я должен просто проигнорировать это и перенести константы в инициализаторы?
Это на Rails 3.0.10