I was having a bit of trouble on the latest edge rails with my controllers
not being loaded, so I made a few changes to engines.rb in the engines
plugin directory. Basically, on the last three references to $LOAD_PATH, I
added a line afterwards doing exactly the same thing with
Dependencies.load_paths:
# add these LAST on the load path.
load_paths.reverse.each { |dir|
if File.directory?(dir)
Engines.log.debug "adding #{File.expand_path(dir)} to the load
path"
#$LOAD_PATH.push(File.expand_path(dir))
$LOAD_PATH.push dir
Dependencies.load_paths.push dir
end
}
# Add the other engines back onto the bottom of the $LOAD_PATH. Put
them back on in
# the same order.
$LOAD_PATH.push(*old_plugin_paths)
Dependencies.load_paths.push(*old_plugin_paths)
$LOAD_PATH.uniq!
Dependencies.load_paths.uniq!
I'm sure this is utterly awful code, but it was just a quick fix to get it
working, since I don't know if the problem was with engines, rails or me.
I'm not sure whether I was doing something wrong in the first place to make
it so my controllers could not be found. I do know that the Dependencies
module in active support didn't have the app directory for my engine in its
load path (the one I found by actually tracing the application's execution),
but by the same token, it _was_ in the application's load path earlier in
execution. The really weird things is the libs and models for my engine
_were_ loading fine when the controllers weren't.
Also, I can't tell if it was working previously and changed with an update
to the latest rails, as I only just added the controllers to my application.
--
- James
_______________________________________________
engine-users mailing list
[email protected]
http://lists.rails-engines.org/listinfo.cgi/engine-users-rails-engines.org