# Getting the name of the calling controller

**URL:** <https://www.ruby-forum.com/t/getting-the-name-of-the-calling-controller/64910>\
**Category:** Rails\
**Created:** [February 9, 2006, 6:01am UTC](https://www.ruby-forum.com/t/getting-the-name-of-the-calling-controller/64910 "2006-02-09T06:01:40Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![dgm](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/df788c/32.png) [@dgm](https://www.ruby-forum.com/u/dgm)\
**Post date:** [February 9, 2006, 6:01am UTC](https://www.ruby-forum.com/t/getting-the-name-of-the-calling-controller/64910/1 "2006-02-09T06:01:40Z")

</div>

I know I’ve seen this before, but I can’t find it and Google hasn’t  
been a help…

> From within a controller method, how can I find the name of the  
> requesting controller? For example, if I’m in controller C1 and I do  
> a  
> redirect\_to :controller=\> ‘foo’, :action =\> ‘bar’,  
> how can I find the name of the requesting controller (C1) from within  
> method ‘bar’?

I thought it was request.controller, but that doesn’t seem to work.

Regards

Dave M.

---

<div class="post-metadata">

**Author:** ![dgm](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/df788c/32.png) [@dgm](https://www.ruby-forum.com/u/dgm)\
**Post date:** [February 9, 2006, 6:27am UTC](https://www.ruby-forum.com/t/getting-the-name-of-the-calling-controller/64910/2 "2006-02-09T06:27:14Z")

</div>

Try ActionController::Base#controller\_name

Kent.

---

<div class="post-metadata">

**Author:** ![dgm](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/df788c/32.png) [@dgm](https://www.ruby-forum.com/u/dgm)\
**Post date:** [February 9, 2006, 6:36am UTC](https://www.ruby-forum.com/t/getting-the-name-of-the-calling-controller/64910/3 "2006-02-09T06:36:35Z")

</div>

Why not just pass it on query string. Redirect\_to is a full 302 browser  
redirect, so it shouldn’t have any knowledge (outside of HTTP\_REFERER,  
which  
isn’t dependable) of the previous controller. However, as with  
everything  
else in life, I could be wrong.

Bob S.  
[http://www.railtie.net/](http://www.railtie.net/)

---

<div class="post-metadata">

**Author:** ![dgm](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/df788c/32.png) [@dgm](https://www.ruby-forum.com/u/dgm)\
**Post date:** [February 9, 2006, 6:55am UTC](https://www.ruby-forum.com/t/getting-the-name-of-the-calling-controller/64910/4 "2006-02-09T06:55:59Z")

</div>

Hmm, doesn’t seem to exist after all.

Best I can come up with is  
request.path.split(’/’)[1]  
which isn’t exactly intuitive and may not work in some environments…

Regards

Dave M.

---

<div class="post-metadata">

**Author:** ![dgm](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/df788c/32.png) [@dgm](https://www.ruby-forum.com/u/dgm)\
**Post date:** [February 10, 2006, 9:19am UTC](https://www.ruby-forum.com/t/getting-the-name-of-the-calling-controller/64910/5 "2006-02-10T09:19:52Z")

</div>

params[:controller] ??

---

<div class="post-metadata">

**Author:** ![dgm](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/df788c/32.png) [@dgm](https://www.ruby-forum.com/u/dgm)\
**Post date:** [February 9, 2006, 10:31am UTC](https://www.ruby-forum.com/t/getting-the-name-of-the-calling-controller/64910/6 "2006-02-09T10:31:42Z")

</div>

David M. wrote:

> Hmm, doesn’t seem to exist after all.
> 
> Best I can come up with is  
> request.path.split(’/’)[1]  
> which isn’t exactly intuitive and may not work in some environments…  
> Without specific support, I’d put this in the application controller:

after\_filter {session[:last\_params] = params}

That way you can get the last controller name as  
session[:last\_params][:controller] from anywhere.

---

<div class="post-metadata">

**Author:** ![dgm](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/df788c/32.png) [@dgm](https://www.ruby-forum.com/u/dgm)\
**Post date:** [February 10, 2006, 9:35am UTC](https://www.ruby-forum.com/t/getting-the-name-of-the-calling-controller/64910/7 "2006-02-10T09:35:07Z")

</div>

Franck wrote:

> params[:controller] ??  
> Um… Yes?

–  
Alex
