Ruby is getting wrong class name from my code

169 views Asked by At

Weird error, I'm calling ::Facility::ProcedureDecorator, but for some reason on my staging server ruby wants to call ProceduresDecorator instead. Any ideas what is going on?

Here are some samples:

NameError: uninitialized constant #<Class:0x00555f1ea188d0>::ProceduresDecorator
Did you mean? Facility::ProcedureDecorator
File "/app/app/admin/facility.rb" line 32 in edit


def edit
  @facility = Facility.includes([:documents, :procedures]).find(params[:id])
  @facility_documents = @facility.documents
  @possible_document_kinds = FacilityDocument.kinds.map { |k, _| [k.humanize, k] }
  @facility_procedures = ::Facility::ProcedureDecorator
                         .decorate_collection(@facility.procedures) # line 32
  @facility_info = ::Facility::InfoDecorator.decorate(@facility.info)
  @possible_procedures = @facility_procedures.map { |procedure| [procedure.name, procedure.id] }
  @templates = @facility.emergency_event_templates
  @white_label = @facility.white_label
end

Edit: Thanks guys for help, at the end problem was within config/environments/staging.rb, those two lines caused a problem.

config.cache_classes = true
config.eager_load = true
0

There are 0 answers