Most of configuration files in ruby such as Gemfile, gemspec, are just ruby code itself. Why database configuration file in rails is the exception?

3 Answers 3


Personal theory is ruby code is scary to administrators, and the one configuration file they would often have to mess with is the database configuration. YAML is a bit more approachable.

  • 3
    BTW: Rails actually preprocesses database.yml with ERb, so you can put any Ruby you want in there :-) Commented Mar 29, 2012 at 14:59

One bonus is that other languages can read YAML, while you can't read a ruby config file in Python (easily).

That said I'd use ruby for complex config setups


My guess:

For configuration of a common module across environments it is the most concise way of doing so. To do it in Ruby adds more complexity to the file.

You would have to ask the original designer though to get the real answer.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.