I have a rails application that patches ActiveRecord with a hand-coded
validator.

The patch is made by adding the following lines in config/
environment.rb

Rails::Initializer.run do |config|
...
end

class ActiveRecord::Base
  include MtLib::DBValidations
end

This works fine in production mode i.e. with

config.cache_classes = true

however it does not work in development with cache_classes set to
false.

The error thrown is

    ArgumentError (A copy of MtLib::DBValidations has been removed
from
      the module tree but is still active!):

My question is what is the process that is followed when cache_class
is set to false. Does Rails re-run any of the initialization methods?
If not then where is the best place for me to put my patch to ensure
that it is in all models and survives a classes reload?

I have tried adding the patch to config/initializers/
active_record_patch, however this is not re-run when the classes are
reloaded.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to