I’ve been looking at bottling some functionality up into a plugin, but
I’m
having some problems including it.
The structure I have is:
/app/controllers/admin/base_controller.rb:
class Admin::BaseController > ApplicationController
#snip#
end
/vendor/plugins/myplugin/lib/my_module.rb:
module MyModule
def new_func
“New Function”
end
end
/vendor/plugins/myplugin/init.rb:
require ‘my_module’
Admin::BaseController.send :include, MyModule
However, this gives me an ‘uninitialized constant ApplicationController
(NameError)’ error when I start Rails
Can I do what I’m trying to do this way? And if not, what are my
alternatives?
Thanks,
Gareth
Thanks,
Gareth
Try require ‘application’. Though, this will probably be problematic
in dev mode.
If you’re on edge rails, try the new Dispatcher.to_prepare stuff:
Dispatcher.to_prepare :my_plugin do
require ‘my_module’
require ‘application’
Admin::BaseController.send :include, MyModule
end
http://dev.rubyonrails.org/browser/trunk/railties/lib/dispatcher.rb#L63
Dispatcher.to_prepare :my_plugin do
require ‘my_module’
require ‘application’
Admin::BaseController.send :include, MyModule
end
http://dev.rubyonrails.org/browser/trunk/railties/lib/dispatcher.rb#L63
require ‘my_module’
Dispatcher.to_prepare :my_plugin do
require_dependency ‘application’ # allows dev reloading
Admin::BaseController.send :include, MyModule
end