Ruby on Rails Wednesday, July 26, 2017

This is close to what I want, I think.

Where does the "@mailer_name = caller_locations(1,1)[0].label " go?  In a controller?  In a view?

What I really want is to not have to modify the source modules that are invoking the rendering but, instead, have the _header.html.erb source module dynamically say "I got invoked by root.html.erb".

Things get a bit more dicey, I think, if the sequence is
  root.html.erb
  appllication.html.erb     (authomagically invoked)
  root.html.erb

Thoughts?
 



On Thursday, July 27, 2017 at 12:23:37 AM UTC-6, Phil wrote:

> On Jul 26, 2017, at 8:58 PM, Ralph Shnelvar <ral...@dos32.com> wrote:
>
> Is the a convenient programatic way for a partial to know what view (controller?) is causing it to be rendered?
>
> For debugging purposes I want the partial to render the name of the view causing the partial to be rendered..
>
> Ralph


I've done stuff stuff like this to pass in, to say, a mailer view to know how it is being called.  Some variation of that might work for you:

@mailer_name = caller_locations(1,1)[0].label

Hope that helps.


Phil

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/f5292800-17ef-499f-8be8-e6b34cb2fab8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment