calling action from one controller to second

question:

class ControllerAthing
  def a_method
  end
end

class ControllerBthing
  def b_method
    ControllerAthing::a_method #this is what i want to do
  end
end

but when i do that i can an error:
undefined method `a_method' for ControllerAthing:Class

thanks ..

Shai Rosenfeld wrote:

class ControllerAthing
  def a_method
  end
end

class ControllerBthing
  def b_method
    ControllerAthing::a_method #this is what i want to do
  end
end

but when i do that i can an error:
undefined method `a_method' for ControllerAthing:Class

Because you're treating #a_method as a class method when it is an
instance method.

Put #a_method into app/controllers/application.rb instead. This file
defines the class ApplicationController which your other controllers
inherit from, so this will make the method available in all controllers.

Mark is right and the other option you have is use mixin ie create a
module, put your a_method in it and include that module in both
controller classes. This will make your a_method available in both
controllers or in any controller in which you include that module.

Cheers