Accessing method in another controller

If I have :

class X < ApplicationController    def some_method   ...    end end

and I have

class Y < ApplicationController

end

How, from a method within class Y, can I call class X's some_method ?

TIA, RVince

Seems the best solution is the straight OOP solution:

class Y < X     ...    something = some_method    .... end

I’d say it depends on whether Y really IS AN X. If not, but they have similar roles, I’d say you’re better of doing this:

class Z < ApplicationController

def some_method

end

end

class X < Z

end

class Y < Z

end

or more simply:

module Z

def some_method

end

end

class X < ApplicationController

include Z

end

class Y < ApplicationController

include Z

end

You could also instantiate an X controller, but depending on the method you’re trying to call, you may need to do a bit of setup (pass in the request/response somehow so it can take over).

Cheers,

Andy

Andy Jeffries wrote:

I'd say it depends on whether Y really IS AN X. If not, but they have similar roles, I'd say you're better of doing this:

class Z < ApplicationController   def some_method     ...   end end

class X < Z   ... end

class Y < Z   ... end

I like this if ALL your controllers should have access to some_method

module Z   def some_method      ...   end end

class X < ApplicationController   include Z   ... end

class Y < ApplicationController   include Z   ... end

I like this if some_method should only be available to some controllers.

Depends on the application requirements as to which way I would go...