# Invoke rails model from other ruby files

**URL:** <https://www.ruby-forum.com/t/invoke-rails-model-from-other-ruby-files/119632>\
**Category:** Ruby\
**Created:** [November 8, 2007, 7:10pm UTC](https://www.ruby-forum.com/t/invoke-rails-model-from-other-ruby-files/119632 "2007-11-08T19:10:54Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Junkone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e274bd/32.png) [@Junkone](https://www.ruby-forum.com/u/Junkone)\
**Post date:** [November 8, 2007, 7:10pm UTC](https://www.ruby-forum.com/t/invoke-rails-model-from-other-ruby-files/119632/1 "2007-11-08T19:10:54Z")

</div>

how can i invoke rails model objects from other non rails ruby  
objects. do i have to do a require ‘’ or is there a way i  
can refernce rails enviorument from ruby.

---

<div class="post-metadata">

**Author:** ![Junkone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e274bd/32.png) [@Junkone](https://www.ruby-forum.com/u/Junkone)\
**Post date:** [November 8, 2007, 7:29pm UTC](https://www.ruby-forum.com/t/invoke-rails-model-from-other-ruby-files/119632/2 "2007-11-08T19:29:01Z")

</div>

Junkone wrote:

> how can i invoke rails model objects from other non rails ruby  
> objects. do i have to do a require ‘’ or is there a way i  
> can refernce rails enviorument from ruby.

Browse around for past messages on using ActiveRecord apart from the  
rest of Rails.

I’ve not done it, but it’s doable.

–  
James B.

“I can see them saying something like ‘OMG Three Wizards Awesome’”

- billinboston, on [reddit.com](http://reddit.com)

---

<div class="post-metadata">

**Author:** ![Junkone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e274bd/32.png) [@Junkone](https://www.ruby-forum.com/u/Junkone)\
**Post date:** [November 8, 2007, 7:54pm UTC](https://www.ruby-forum.com/t/invoke-rails-model-from-other-ruby-files/119632/3 "2007-11-08T19:54:46Z")

</div>

datab.rb:

require ‘rubygems’  
require ‘activerecord’  
require ‘yaml’  
require ‘logger’

class DataB  
def connect\_to\_db(environment=“development”)  
conf = YAML::load(File.open(File.dirname( **FILE** ) +  
/config/database.yml’))  
ActiveRecord::Base.logger = Logger.new(“log/active\_record.log”)  
ActiveRecord::Base.establish\_connection(conf[environment])  
end

def load\_models()  
[“model/list.rb”,  
“model/models.rb”,“model/here.rb”,“model/or\_use\_File.glob”].each do  
|lib|  
require lib  
end  
end  
end

* * *

@db=DataB.new  
@db.connect\_to\_db  
@db.load\_models

and you’re ready to go!

---

<div class="post-metadata">

**Author:** ![Junkone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e274bd/32.png) [@Junkone](https://www.ruby-forum.com/u/Junkone)\
**Post date:** [November 8, 2007, 7:56pm UTC](https://www.ruby-forum.com/t/invoke-rails-model-from-other-ruby-files/119632/4 "2007-11-08T19:56:31Z")

</div>

On Nov 8, 1:27 pm, James B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> –  
> James B.
> 
> “I can see them saying something like ‘OMG Three Wizards Awesome’”
> 
> - billinboston, on [reddit.com](http://reddit.com)

unfortunatly this is the error i get uninitialized constant  
ActiveRecord. any clues how to fix it.

irb(main):010:0\> require ‘E:\TradingTools\torontotrader\app\models  
\rawdata.rb’  
NameError: uninitialized constant ActiveRecord  
from E:\TradingTools\torontotrader\app\models\rawdata.rb:1  
from e:/ruby/lib/ruby/site\_ruby/1.8/rubygems/custom\_require.rb:  
27:in `ge m_original_require' from e:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb: 27:in `re  
quire’  
from (irb):10

---

<div class="post-metadata">

**Author:** ![Junkone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e274bd/32.png) [@Junkone](https://www.ruby-forum.com/u/Junkone)\
**Post date:** [November 9, 2007, 2:16am UTC](https://www.ruby-forum.com/t/invoke-rails-model-from-other-ruby-files/119632/5 "2007-11-09T02:16:58Z")

</div>

On Nov 8, 1:53 pm, Marcin R. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> /config/database.yml’))  
> end
> 
> * * *
> 
> @db=DataB.new  
> @db.connect\_to\_db  
> @db.load\_models
> 
> and you’re ready to go!

thanks. it works

---

<div class="post-metadata">

**Author:** ![Junkone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e274bd/32.png) [@Junkone](https://www.ruby-forum.com/u/Junkone)\
**Post date:** [November 9, 2007, 2:31am UTC](https://www.ruby-forum.com/t/invoke-rails-model-from-other-ruby-files/119632/6 "2007-11-09T02:31:35Z")

</div>

> thanks. it works  
> You are welcome. I know 😃

---

<div class="post-metadata">

**Author:** ![Junkone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e274bd/32.png) [@Junkone](https://www.ruby-forum.com/u/Junkone)\
**Post date:** [November 8, 2007, 9:30pm UTC](https://www.ruby-forum.com/t/invoke-rails-model-from-other-ruby-files/119632/7 "2007-11-08T21:30:56Z")

</div>

On Nov 8, 1:27 pm, James B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> –  
> James B.
> 
> “I can see them saying something like ‘OMG Three Wizards Awesome’”
> 
> - billinboston, on [reddit.com](http://reddit.com)

Unfortunately this is the error that i get uninitialized constant  
ActiveRecord

irb(main):010:0\> require ‘E:\Trad\app\models\rawdata.rb’  
NameError: uninitialized constant ActiveRecord  
from e:\Trad\app\models\rawdata.rb:1  
from e:/ruby/lib/ruby/site\_ruby/1.8/rubygems/custom\_require.rb:  
27:in `ge m_original_require' from e:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb: 27:in `re  
quire’  
from (irb):10

---

<div class="post-metadata">

**Author:** ![Junkone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e274bd/32.png) [@Junkone](https://www.ruby-forum.com/u/Junkone)\
**Post date:** [November 9, 2007, 11:11pm UTC](https://www.ruby-forum.com/t/invoke-rails-model-from-other-ruby-files/119632/8 "2007-11-09T23:11:23Z")

</div>

On Nov 8, 8:31 pm, Marcin R. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > thanks. it works
> 
> You are welcome. I know 😃

hello  
Since your code had a include ‘logger’ in it, i assume that i can use  
it to log errors to the rails log. however it does not seem to work  
the way i imagined. can u point what the issue could be. here is the  
snippet of cde and the exception.

require ‘rubygems’  
require ‘active\_record’  
require ‘yaml’  
require ‘logger’  
… lots of code

rescue =\> detail  
Logger.error( detail.backtrace.join(“\n”))

i get the error

undefined method `error’ for Logger:Class
