# Database.yml host read from yml

**URL:** <https://www.ruby-forum.com/t/database-yml-host-read-from-yml/190276>\
**Category:** Rails\
**Created:** [June 17, 2010, 4:22pm UTC](https://www.ruby-forum.com/t/database-yml-host-read-from-yml/190276 "2010-06-17T16:22:37Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![bigdaddy71](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/bbe5ce/32.png) [@bigdaddy71](https://www.ruby-forum.com/u/bigdaddy71)\
**Post date:** [June 17, 2010, 4:22pm UTC](https://www.ruby-forum.com/t/database-yml-host-read-from-yml/190276/1 "2010-06-17T16:22:37Z")

</div>

I have a yml file with ip info. When I try to do " host: Site[‘name’]  
[‘ip’] it is getting interpreted directly and it is saying Bad URI:  
Site[‘name’][‘ip’]

How do I get the database yml to interpret the Site constant? I can  
see the hash in the console.

---

<div class="post-metadata">

**Author:** ![bigdaddy71](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/bbe5ce/32.png) [@bigdaddy71](https://www.ruby-forum.com/u/bigdaddy71)\
**Post date:** [June 17, 2010, 4:22pm UTC](https://www.ruby-forum.com/t/database-yml-host-read-from-yml/190276/2 "2010-06-17T16:22:39Z")

</div>

anyone?

---

<div class="post-metadata">

**Author:** ![bigdaddy71](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/bbe5ce/32.png) [@bigdaddy71](https://www.ruby-forum.com/u/bigdaddy71)\
**Post date:** [June 17, 2010, 4:22pm UTC](https://www.ruby-forum.com/t/database-yml-host-read-from-yml/190276/3 "2010-06-17T16:22:43Z")

</div>

On Jun 14, 6:50 pm, Me [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I have a yml file with ip info. When I try to do " host: Site[‘name’]  
> [‘ip’] it is getting interpreted directly and it is saying Bad URI:  
> Site[‘name’][‘ip’]
> 
> How do I get the database yml to interpret the Site constant? I can  
> see the hash in the console.

database.yml is passed through erb

Fred

---

<div class="post-metadata">

**Author:** ![bigdaddy71](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/bbe5ce/32.png) [@bigdaddy71](https://www.ruby-forum.com/u/bigdaddy71)\
**Post date:** [June 17, 2010, 4:26pm UTC](https://www.ruby-forum.com/t/database-yml-host-read-from-yml/190276/4 "2010-06-17T16:26:22Z")

</div>

YAML.load(ERB.new(File.read(path\_to\_file)).result)

---

<div class="post-metadata">

**Author:** ![bigdaddy71](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/bbe5ce/32.png) [@bigdaddy71](https://www.ruby-forum.com/u/bigdaddy71)\
**Post date:** [June 22, 2010, 10:14pm UTC](https://www.ruby-forum.com/t/database-yml-host-read-from-yml/190276/5 "2010-06-22T22:14:58Z")

</div>

Is this correct?

\<% Site = YAML.load(ERB.new(File.read(File.join(RAILS\_ROOT, ‘config’,  
‘sites.yml’))).result) %\>

---

<div class="post-metadata">

**Author:** ![bigdaddy71](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/bbe5ce/32.png) [@bigdaddy71](https://www.ruby-forum.com/u/bigdaddy71)\
**Post date:** [June 17, 2010, 4:26pm UTC](https://www.ruby-forum.com/t/database-yml-host-read-from-yml/190276/6 "2010-06-17T16:26:21Z")

</div>

Ok, in my load\_config I do this:

Site = YAML.load\_file(File.join(RAILS\_ROOT, ‘config’, ‘sites.yml’))

Something like this in the database.yml?

host: \<%= Site[‘name’][‘db’] %\>

On Wed, Jun 16, 2010 at 03:26, Frederick C.
