Extending a module to models causes ArgumentError A copy of xx has been removed from module tree

How can I extend a module to a model class and use an instance of a
custom class as a class instance variable for model such that when next
request comes, custom class could be found and older instances are
deleted?

I created a class Samples. I also created a module LoadSamples where
in a method say load_samples, I create a new Samples instance and
assign it to a class instance variable. I extend LoadSamples to
ActiveRecord::Base and called load_samples from model User.

class Samples

end

module LoadSamples
attr_accessor :samples

def load_samples
@samples ||= Samples.new

end
end

The first page that loads, loads fine, but subsequent request gives:


ArgumentError in UsersController#new

A copy of BaseSample::LoadSamples has been removed from the module tree
but is still active!

and points to line @samples ||= Samples.new

This works in production mode or when I set config.cache_classes to
true. But it becomes difficult to work in dev mode.

What can I do about it and what are the alternatives?

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs