new controller - how do I access it via other controllers/views?

Guys,

I have created a new controller Worker which has a method
do_work(inputs), and another method show_work, which has a meaningful
associated view (showing the results of the 'work'.

So, I need to display the result of show_work in the view of another
class called Consumer.

So, I need to do a number of things:

1.) setup inputs (a hash) in the Consumer controller.
2.) have the consumer controller show method call Worker's method
do_work(inputs)
3.) have the consumer show view show the results of show_work

So, 2.) how do you call Worker.do_work(inputs)? Do I instantiate a
Worker class and then call obj_name.do_work(inputs)?
3.) can I make use of the rendering going on in the show_work view in
another classes show view?

Thanks in advance!

Guys,

I have created a new controller Worker which has a method

do_work(inputs), and another method show_work, which has a meaningful

associated view (showing the results of the ‘work’.

So, I need to display the result of show_work in the view of another

class called Consumer.

So, I need to do a number of things:

1.) setup inputs (a hash) in the Consumer controller.

2.) have the consumer controller show method call Worker’s method

do_work(inputs)

3.) have the consumer show view show the results of show_work

So, 2.) how do you call Worker.do_work(inputs)? Do I instantiate a

Worker class and then call obj_name.do_work(inputs)?

You can create a class method on the Worker’s model. For example,

def self.do_work( inputs )

end

3.) can I make use of the rendering going on in the show_work view in

another classes show view?

You can create a shared partial that can be rendered within the show

template of the different controllers. Also, you can find alot of information

on guides.rubyonrails.org

Good luck,

-Conrad

regarding the class method you mentioned, then I can run the
Worker.do_work(inputs) method by calling Worker.do_work(inputs)?

What chewmanfoo is talking about is moving code from the controller
into the model. Basically, the consumer controller would call the
worker model (if one exists), not the worker controller. When you're
in a situation where you need to run two or more controller actions on
the same request then it's a sign that your implementation isn't
optimal. To call two controller actions you need two requests, which
means a redirect after the first one, which means you need some place
to store the state between the events. It shouldn't be necessary.