Who caused the view to be rendered

Newbie here.

I placed a debugger statement into a view and I then executed a   where command hoping to find which controller caused the view to be rendered.

The stack is interesting but does not seem to give me the info I ned.

Is there a way to find out what caused the view to be rendered?

By default, views are tied to controllers. So the views in app/views/ c1s are invoked by the app/views/c1s_controller.

However, it is possible to render views from an arbitrary controller. grep render app/controllers/*. Partials might be called from helpers or other views.

Student Jr wrote:

By default, views are tied to controllers. So the views in app/views/ c1s are invoked by the app/views/c1s_controller.

However, it is possible to render views from an arbitrary controller. grep render app/controllers/*. Partials might be called from helpers or other views.

Yes, but a controller can generate several views. Is there a way to get to the line of code in the controller that generates the view and/or partial.

Different question, different answer.

There are rules. Of course, an explicit call via render comes first. If there is no render, then the view with the same name as the action is rendered. Which is why a stack trace is not sufficient.

Student Jr wrote:

Different question, different answer.

There are rules. Of course, an explicit call via render comes first. If there is no render, then the view with the same name as the action is rendered. Which is why a stack trace is not sufficient.

Are you saying that if the view is rendered via an explicit render that it will be on the stack trace? (Sorry, not at a computer where I'm running rails but I'd like to have the answer so I can think about it.)

I believe so.

Ralph Shnelvar wrote:

Newbie here.

I placed a debugger statement into a view and I then executed a   where command hoping to find which controller caused the view to be rendered.

The stack is interesting but does not seem to give me the info I ned.

Is there a way to find out what caused the view to be rendered?

Look at params[:controller] and params[:action].

Best,