Ho un certo modulo che viene utilizzato in un Rails 4.1.1 applicazioneImpossibile definire più 'incluso' blocchi per una preoccupazione (ActiveSupport :: :: La preoccupazione MultipleIncludedBlocks) con cache_classes = true
module A
extend ActiveSupport::Concern
included do
#Some code
end
end
quali è incluso in una classe
class Some
include A
end
Questa grande opera con cache_classes=true
in application.rb
. Ora, se spengo il caching delle classi, ottengo l'eccezione Cannot define multiple 'included' blocks for a Concern (ActiveSupport::Concern::MultipleIncludedBlocks)
iniziando il server.
Come si dovrebbe affrontare un problema di questo tipo dal momento che il ricaricamento delle classi viene eseguito da Rails?
Grazie cercato di cacciare questo per un po '. Avevo refactored una lib in una preoccupazione e ho iniziato a ricevere questo errore –
Per il progetto in cui sono attivo, il modulo era esplicitamente richiesto in un file (oltre a essere nel percorso di caricamento automatico). Abbiamo iniziato ad avere questo problema quando si utilizza Sidekiq. La soluzione stava rimuovendo chiamate esplicite al modulo. –
Avevo anche un problema in cui uno dei miei moduli/nome del namespace terminava con un 's', e credo che non abbia funzionato bene con la pluralizzazione di Rails, come semplicemente rinominando il modulo in una forma singolare funzionante. Pietà –