Mam jeden problem i dwie klasy, które go obejmują. W trosce zdefiniowałem jedną zmienną. Oto obawy i dwa modele:Prawidłowe użycie stałych obawy
module UserInstance
extend ActiveSupport::Concern
included do
ACTIVE = 'active'
end
end
class Guardian < ActiveRecord::Base
include UserInstance
end
class Student < ActiveRecord::Base
include UserInstance
end
Dostaję ostrzeżeń:
/app/app/models/concerns/user_instance.rb:12: warning: already initialized constant UserInstance::ACTIVE
/app/app/models/concerns/user_instance.rb:12: warning: previous definition of ACTIVE was here
Chyba, że po załadowaniu jednej klasy (jak Guardian
), to również ładuje stałym poziomie, a ładowanie drugiej klasy próbuje ponownie załadować stałą, a następnie pojawi się ostrzeżenie. Jak mogę tego uniknąć bez konieczności umieszczania stałych w dwóch modelach? Dzięki
Tak, nawet na Railsach 5 z obawami wydaje się, że jest to właściwy sposób – jpwynn