# Detect current controller and action

**URL:** <https://www.ruby-forum.com/t/detect-current-controller-and-action/49429>\
**Category:** Rails\
**Created:** [December 4, 2005, 1:30pm UTC](https://www.ruby-forum.com/t/detect-current-controller-and-action/49429 "2005-12-04T13:30:57Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![matiassurdi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e95f7d/32.png) [@matiassurdi](https://www.ruby-forum.com/u/matiassurdi)\
**Post date:** [December 4, 2005, 1:30pm UTC](https://www.ruby-forum.com/t/detect-current-controller-and-action/49429/1 "2005-12-04T13:30:57Z")

</div>

How can I detect the controller and action from a request?

Thanks…

---

<div class="post-metadata">

**Author:** ![matiassurdi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e95f7d/32.png) [@matiassurdi](https://www.ruby-forum.com/u/matiassurdi)\
**Post date:** [December 4, 2005, 8:23pm UTC](https://www.ruby-forum.com/t/detect-current-controller-and-action/49429/2 "2005-12-04T20:23:58Z")

</div>

@params[:controller] and @params[:action]

csn

— Matias S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> How can I detect the controller and action from a request?
> 
> Thanks…
> 
> * * *
> 
> Rails mailing list  
> removed\_email\_address@domain.invalid  
> [http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)

* * *

Yahoo! DSL ? Something to write home about.  
Just $16.99/mo. or less.  
[dsl.yahoo.com](http://dsl.yahoo.com)

---

<div class="post-metadata">

**Author:** ![matiassurdi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e95f7d/32.png) [@matiassurdi](https://www.ruby-forum.com/u/matiassurdi)\
**Post date:** [December 4, 2005, 9:12pm UTC](https://www.ruby-forum.com/t/detect-current-controller-and-action/49429/3 "2005-12-04T21:12:47Z")

</div>

In views:

controller.name  
controller.action\_name

will give you the controller and action names.

---

<div class="post-metadata">

**Author:** ![matiassurdi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e95f7d/32.png) [@matiassurdi](https://www.ruby-forum.com/u/matiassurdi)\
**Post date:** [December 4, 2005, 9:45pm UTC](https://www.ruby-forum.com/t/detect-current-controller-and-action/49429/4 "2005-12-04T21:45:36Z")

</div>

On Sun, Dec 04, 2005 at 03:10:07PM -0500, Hammed M. wrote:

> In views:
> 
> controller.name  
> controller.action\_name

You can’t just do controller.class.name because the controller class is  
called  
FooController. Like ‘action\_name’, there is a specialized  
‘controller\_name’  
method.

> > PublicationController.new().class.name  
> > =\> “PublicationController”

> > PublicationController.new().controller\_name  
> > =\> “publication”

marcel

---

<div class="post-metadata">

**Author:** ![matiassurdi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e95f7d/32.png) [@matiassurdi](https://www.ruby-forum.com/u/matiassurdi)\
**Post date:** [December 4, 2005, 10:01pm UTC](https://www.ruby-forum.com/t/detect-current-controller-and-action/49429/5 "2005-12-04T22:01:50Z")

</div>

I stand corrected. Thanks.

---

<div class="post-metadata">

**Author:** ![matiassurdi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e95f7d/32.png) [@matiassurdi](https://www.ruby-forum.com/u/matiassurdi)\
**Post date:** [December 5, 2005, 10:48am UTC](https://www.ruby-forum.com/t/detect-current-controller-and-action/49429/6 "2005-12-05T10:48:22Z")

</div>

Hammed M.  
escribió:\> \> controller.action\_name

> ```
> >> PublicationController.new().controller_name
> http://lists.rubyonrails.org/mailman/listinfo/rails
> 
> ```
> 
> * * *
> 
> * * *
> 
> Rails mailing list  
> removed\_email\_address@domain.invalid  
> [http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)

thanks everybody, I solved my problem with these things you said me…

thanks…

Matias
