# Using AR outside of rails

**URL:** <https://www.ruby-forum.com/t/using-ar-outside-of-rails/87592>\
**Category:** Rails\
**Created:** [March 4, 2007, 4:53am UTC](https://www.ruby-forum.com/t/using-ar-outside-of-rails/87592 "2007-03-04T04:53:24Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![snacktime](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/7feea3/32.png) [@snacktime](https://www.ruby-forum.com/u/snacktime)\
**Post date:** [March 4, 2007, 4:53am UTC](https://www.ruby-forum.com/t/using-ar-outside-of-rails/87592/1 "2007-03-04T04:53:24Z")

</div>

I’ve seen a number of ways to use AR outside of rails, and am  
wondering what other think is the best approach for my particular  
application.

The application is in it’s own module namespace. To use it within  
rails you just require it in application.rb and instantiate a class to  
call methods on. It’s also well suited to be used from other various  
applications though. The simplest way I could think of to make my  
application work inside and outside of rails without much user  
intervention would be something like this.

require ‘activerecord’  
if ENV and ENV.has\_key?(‘RAILS\_ENV’)  
require ‘models/mymodel’  
ActiveRecord::Base.establish\_connection()  
end

I’d probably use a yaml file to store the database configuration like  
rails does.

Any better ideas?

---

<div class="post-metadata">

**Author:** ![snacktime](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/7feea3/32.png) [@snacktime](https://www.ruby-forum.com/u/snacktime)\
**Post date:** [March 4, 2007, 4:56am UTC](https://www.ruby-forum.com/t/using-ar-outside-of-rails/87592/2 "2007-03-04T04:56:24Z")

</div>

On 3/3/07, snacktime [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> 

Argh that should have been:  
unless ENV and ENV.has\_key?(‘RAILS\_ENV’)
