# Prevent controller \*public\* method from being an action?

**URL:** <https://www.ruby-forum.com/t/prevent-controller-public-method-from-being-an-action/90248>\
**Category:** Rails\
**Created:** [March 27, 2007, 1:37am UTC](https://www.ruby-forum.com/t/prevent-controller-public-method-from-being-an-action/90248 "2007-03-27T01:37:31Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![josh](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/45deac/32.png) [@josh](https://www.ruby-forum.com/u/josh)\
**Post date:** [March 27, 2007, 1:37am UTC](https://www.ruby-forum.com/t/prevent-controller-public-method-from-being-an-action/90248/1 "2007-03-27T01:37:31Z")

</div>

Hi all

I need to have methods in my controller that need to be called from  
external objects, so they must be public.  
But they must not be handled as an action (as Rails does by default).  
How can I prevent these public methods from being handled as actions?

Thanks  
Josh

---

<div class="post-metadata">

**Author:** ![josh](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/45deac/32.png) [@josh](https://www.ruby-forum.com/u/josh)\
**Post date:** [March 27, 2007, 3:11am UTC](https://www.ruby-forum.com/t/prevent-controller-public-method-from-being-an-action/90248/2 "2007-03-27T03:11:09Z")

</div>

hide\_action class method

ie

hide\_action :edit

---

<div class="post-metadata">

**Author:** ![josh](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/45deac/32.png) [@josh](https://www.ruby-forum.com/u/josh)\
**Post date:** [March 27, 2007, 8:17pm UTC](https://www.ruby-forum.com/t/prevent-controller-public-method-from-being-an-action/90248/3 "2007-03-27T20:17:25Z")

</div>

Keynan P. wrote:

> hide\_action class method
> 
> ie
> 
> hide\_action :edit

Thank you. 🙂
