# Expand Active Record

**URL:** <https://www.ruby-forum.com/t/expand-active-record/113775>\
**Category:** Rails\
**Created:** [September 4, 2007, 8:48pm UTC](https://www.ruby-forum.com/t/expand-active-record/113775 "2007-09-04T20:48:50Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![mindtonic](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/f19dbf/32.png) [@mindtonic](https://www.ruby-forum.com/u/mindtonic)\
**Post date:** [September 4, 2007, 8:48pm UTC](https://www.ruby-forum.com/t/expand-active-record/113775/1 "2007-09-04T20:48:50Z")

</div>

Silly question, how do I expand (add a function to) Active Record for  
all of my models?

---

<div class="post-metadata">

**Author:** ![mindtonic](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/f19dbf/32.png) [@mindtonic](https://www.ruby-forum.com/u/mindtonic)\
**Post date:** [September 4, 2007, 8:56pm UTC](https://www.ruby-forum.com/t/expand-active-record/113775/2 "2007-09-04T20:56:50Z")

</div>

Mindtonic wrote:

> Silly question, how do I expand (add a function to) Active Record for  
> all of my models?

Depends on where in Active Record you want to extend it.

In a nutshell, you just create a new module and include it in  
ActiveRecord.

–  
Robby R.  
[http://www.robbyonrails.com](http://www.robbyonrails.com) # my blog  
[http://www.planetargon.com](http://www.planetargon.com) # my business  
[http://www.programmingrails.com](http://www.programmingrails.com) # my book

---

<div class="post-metadata">

**Author:** ![mindtonic](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/f19dbf/32.png) [@mindtonic](https://www.ruby-forum.com/u/mindtonic)\
**Post date:** [September 5, 2007, 3:16pm UTC](https://www.ruby-forum.com/t/expand-active-record/113775/3 "2007-09-05T15:16:45Z")

</div>

I am wanting to add the self.full\_text\_search for Ferret in a way that  
I only have to put it in one place and not in every single model that  
I want to be able to search. That would be a lot of repeating  
myself! Thanks…

---

<div class="post-metadata">

**Author:** ![mindtonic](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/f19dbf/32.png) [@mindtonic](https://www.ruby-forum.com/u/mindtonic)\
**Post date:** [September 5, 2007, 3:49pm UTC](https://www.ruby-forum.com/t/expand-active-record/113775/4 "2007-09-05T15:49:50Z")

</div>

On Sep 5, 6:15 am, Mindtonic [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I am wanting to add the self.full\_text\_search for Ferret in a way that  
> I only have to put it in one place and not in every single model that  
> I want to be able to search. That would be a lot of repeating  
> myself! Thanks…

I think you could have a subclass of AR::Base that acts\_as\_ferret and  
then your models subclass that, but then you index every column of  
every table (?!)
