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
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
On 12 April 2010 15:07, RVince [email protected] wrote:
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 J. 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
endclass X < Z
…
endclass Y < Z
…
end
I like this if ALL your controllers should have access to some_method
module Z
def some_method
…
end
endclass X < ApplicationController
include Z
…
endclass 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…
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs