# A method accessible from all controllers and views ? How?

**URL:** <https://www.ruby-forum.com/t/a-method-accessible-from-all-controllers-and-views-how/126691>\
**Category:** Rails\
**Created:** [January 21, 2008, 12:37pm UTC](https://www.ruby-forum.com/t/a-method-accessible-from-all-controllers-and-views-how/126691 "2008-01-21T12:37:57Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![budu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/b5e925/32.png) [@budu](https://www.ruby-forum.com/u/budu)\
**Post date:** [January 21, 2008, 12:37pm UTC](https://www.ruby-forum.com/t/a-method-accessible-from-all-controllers-and-views-how/126691/1 "2008-01-21T12:37:57Z")

</div>

Hi,

I’ve got this method :

def is\_admin?  
@current\_user && @current\_user.admin == 1  
end

I want to be able to call this method from all my controllers and all my  
views.  
If I put this method in application\_controller I can call it from all my  
controllers but none of my views.  
If I put this method in application\_helper I can call it from all my  
views but none of my controllers.

What is the best way?

Thanks.  
Nicolas B…

---

<div class="post-metadata">

**Author:** ![budu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/b5e925/32.png) [@budu](https://www.ruby-forum.com/u/budu)\
**Post date:** [January 21, 2008, 12:43pm UTC](https://www.ruby-forum.com/t/a-method-accessible-from-all-controllers-and-views-how/126691/2 "2008-01-21T12:43:54Z")

</div>

On 21 Jan 2008, at 11:37, Nicolas B. wrote:

> all my  
> views.  
> If I put this method in application\_controller I can call it from  
> all my  
> controllers but none of my views.  
> If I put this method in application\_helper I can call it from all my  
> views but none of my controllers.

Put it in application.rb & then use helper\_method ?

Fred

---

<div class="post-metadata">

**Author:** ![budu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/b5e925/32.png) [@budu](https://www.ruby-forum.com/u/budu)\
**Post date:** [January 21, 2008, 12:49pm UTC](https://www.ruby-forum.com/t/a-method-accessible-from-all-controllers-and-views-how/126691/3 "2008-01-21T12:49:43Z")

</div>

put it in the User model

---

<div class="post-metadata">

**Author:** ![budu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/b5e925/32.png) [@budu](https://www.ruby-forum.com/u/budu)\
**Post date:** [January 21, 2008, 12:52pm UTC](https://www.ruby-forum.com/t/a-method-accessible-from-all-controllers-and-views-how/126691/4 "2008-01-21T12:52:40Z")

</div>

you can also use a mix in.

module X  
def is\_admin  
end  
end

class some\_controller  
include X  
helper :x  
end
