undefined method error

I am trying to DRY some code in some of my controllers and keep getting an undefined method error. Details as follows:

Some controllers dynamically generate methods inside a loop using define_method. E.g.:

['shipment_product', 'transport'].each do |object_name|     sub_model_class = object_name.camelize.constantize     define_method("list_#{object_name}") do       @sub_model = sub_model_class.new       render 'shared/list_sub_model'     end

   .... end

I tried to move this code to application.rb as separate methods and call the methods from each controller. E.g.:

in application.rb:

  def sub_model_list_for(object_name)     sub_model_class = object_name.camelize.constantize     define_method("list_#{object_name}") do       @sub_model = sub_model_class.new       render 'shared/list_sub_model'     end   end

in the controller: ['shipment_product', 'transport'].each do |object_name|     sub_model_list_for(object_name)

   .... end

However if I do this, upon loading the controller I get undefined method error for sub_model_list_for. (same thing happens in the console if I 'load whatever_controller.rb').

Any ideas? This code is actually in two controllers but probably will generate some others that might use this code and I don't want to repeat the beast all over the place.

Thanks in advance, Atha