From: Web Manager Date: 2009-03-07T00:25:43+09:00 Subject: Proper way to include module methods with dynamic code? Hi, (This is in a Rails context, but I believe is much more of a Ruby question so is posted here.) I've got an index method with some dynamic bits I'd like to place into a module and include in several controllers: module MyApp::ListsControllerIndex def index self.instance_variable_set( "@#{@models_str}", @klass.find(:all) ) respond_to do |format| format.html do render 'shared/lists_index' end end end # End index end # End module (The instance variables @models_str and @klass are set by a before_filter in the controller.) When I try to include this module into controllers via any combination of include or extend, I either get: 1) a nil.find error as Ruby seems to try and execute/resolve @klass in @klass.find when included rather than after the filters have run (seen with include) 2) the included method is not found (seen with extend) What I'd like is the method to be added to my controller class and be sitting ready and waiting to evaluate the dynamic bits when called. (Or said another way, for the included method to work successfully the same way it does when it's defined directly in the controller or a superclass of the controller.) I've read through include/extend docs but clearly need some additional help. Any is much appreciated and thanks for your time! Cheers. -- Posted via http://www.ruby-forum.com/.