# How to determine the current controller?

**URL:** <https://www.ruby-forum.com/t/how-to-determine-the-current-controller/141292>\
**Category:** Ruby\
**Created:** [June 24, 2008, 12:41pm UTC](https://www.ruby-forum.com/t/how-to-determine-the-current-controller/141292 "2008-06-24T12:41:26Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![jdunneuk](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/35a633/32.png) [@jdunneuk](https://www.ruby-forum.com/u/jdunneuk)\
**Post date:** [June 24, 2008, 12:41pm UTC](https://www.ruby-forum.com/t/how-to-determine-the-current-controller/141292/1 "2008-06-24T12:41:26Z")

</div>

Hi guys,

I want to build a generic navigation menu with partials in the style of

if current\_controller == ‘abcd’  
render pratial ‘abscd’

How can I determine the current controller from within the layout .rhtml  
file without taking care of what action is executed?

If I use current\_page?(:controller =\> ‘abcd’) it works as long as the  
current\_page is [http://localhost:3000/abcd](http://localhost:3000/abcd)

---

<div class="post-metadata">

**Author:** ![jdunneuk](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/35a633/32.png) [@jdunneuk](https://www.ruby-forum.com/u/jdunneuk)\
**Post date:** [June 24, 2008, 2:06pm UTC](https://www.ruby-forum.com/t/how-to-determine-the-current-controller/141292/2 "2008-06-24T14:06:33Z")

</div>

you have an instance variable available in your views called  
@controller

hence you can use something like

if @controller.controller\_name == ‘abcd’  
do something  
else  
do somthing else  
end
