Hi, That is remarkable cross post, I didn't see Sean's message until just now.
>From the ticket James posted, I think the comment that plugins only need to be reloaded during development is probably 99% true, except in situations where the plugin refers to application classes by constant (as opposed to something like ClassName.constantize) - which happens to be my situation - in which case they will need to be reloadable in development mode even after the plugin is no longer in development, either via require_dependency in the source app or removing it from the load_once list. For engines, require_dependency isn't really a solution I don't think as pre-loading controllers would be a pain, especially with a bunch of routes. Maybe just adding a function to Engines that has the same effect as the code I posted would be enough. The code I posted goes in the init.rb of the each plugin that needs to be marked as reloadable (not the engines plugin itself) -Pascal On Sat, 2008-01-05 at 19:51 +0000, James Adam wrote: > My comments on this ticket might also be relevant - > http://dev.rubyonrails.org/ticket/10488#comment:6 > > On Jan 5, 2008 6:52 PM, Sean Schofield <[EMAIL PROTECTED]> wrote: > > Hey did you just read my email before posting that? If not, that was > > a scary coincidence. > > > > Question about your solution ... Which init.rb do you paste that code? > > In the engines plugin or the plugin that is relying on engines? > > > > Sean > > > > > > On Jan 5, 2008 1:46 PM, Pascal Rettig <[EMAIL PROTECTED]> wrote: > > > Hi All, > > > > > > I'm pretty new to Engines, but in upgrading a Rails application to 2.0 > > > I decided to move a bunch of modules from the deprecated "components" > > > directory to a new "vendor/modules" directory and Engines seemed like > > > the best drop-in replacement to do so. > > > Everything was great in production mode, but in development mode I kept > > > getting a bunch of strange errors of two different sorts: > > > > > > - Method missing errors from Models that were defined in the code > > > > > > - "A copy of XXX has been removed from the module tree but is still > > > active!" errors for Application Controllers > > > > > > This is probably old hat to people who have been using engines for a > > > while, but I need to add the following to my init.rb to solve the > > > issues: > > > > > > load_paths.each do |path| > > > Dependencies.load_once_paths.delete(path) > > > end > > > > > > > > > The reason for my issues is that I'm using the engine plugins in a way > > > that they refer back to models and controllers in the main application, > > > so they need to be reloaded in a similar method to the main application > > > controllers & models or the class constant references will become stale > > > on page refreshes. > > > > > > Took me a couple hours of head banging on keyboard to figure this out so > > > maybe this info will help someone else. > > > > > > -Pascal > > > > > > _______________________________________________ > > > Engine-Users mailing list > > > [email protected] > > > http://lists.rails-engines.org/listinfo.cgi/engine-users-rails-engines.org > > > > > _______________________________________________ > > Engine-Users mailing list > > [email protected] > > http://lists.rails-engines.org/listinfo.cgi/engine-users-rails-engines.org > > > > > _______________________________________________ Engine-Users mailing list [email protected] http://lists.rails-engines.org/listinfo.cgi/engine-users-rails-engines.org
