# Where is global Rails configuration?

**URL:** <https://www.ruby-forum.com/t/where-is-global-rails-configuration/103085>\
**Category:** Rails\
**Created:** [May 1, 2007, 5:31pm UTC](https://www.ruby-forum.com/t/where-is-global-rails-configuration/103085 "2007-05-01T17:31:20Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![dtdtdt](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/b5ac83/32.png) [@dtdtdt](https://www.ruby-forum.com/u/dtdtdt)\
**Post date:** [May 1, 2007, 5:31pm UTC](https://www.ruby-forum.com/t/where-is-global-rails-configuration/103085/1 "2007-05-01T17:31:20Z")

</div>

Hi,

Let’s say I wanted to add something to Rails that I would like all  
applications to use. For example, I would like to add the pluggable  
parameter parsing using:

ActionController::Base.param\_parsers[‘application/atom+xml’] =  
Proc.new do |data|  
node = REXML::Document.new data  
{ node.root.name =\> node.root }  
end

(got this example from e.g. [Rails Writ Large | Linux Journal](http://www.linuxjournal.com/article/8968),  
but it’s also in the source code). I would not like this to be related  
to a specific controller or application - I would like to add it for  
all applications at once. In this case, it would be for both already  
existing applications and the ones I create. What is the appropriate  
place for this (if any)? I know that editing environment.rb is a good  
place for per-application settings.

Yes, another (relatively simple) way would be to just ‘require’ the  
Ruby file with these settings in all applicaitons, but I am just  
curious if there is some standard way of doing this.

---

<div class="post-metadata">

**Author:** ![dtdtdt](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/b5ac83/32.png) [@dtdtdt](https://www.ruby-forum.com/u/dtdtdt)\
**Post date:** [May 1, 2007, 6:16pm UTC](https://www.ruby-forum.com/t/where-is-global-rails-configuration/103085/2 "2007-05-01T18:16:25Z")

</div>

I would say the appropriate place for this would be in a plugin.  
Doing anything else would mean modifying the Rails core code, which  
I’m guessing would violate your Rails open source license agreement  
(unless you’re a Rails contributor). Basically, if you modify Rails  
it won’t be Rails anymore.

Rails is kind enough to offer a plug-in architecture where you should  
be able to do what you want and include it into all or your  
applications.

---

<div class="post-metadata">

**Author:** ![dtdtdt](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/b5ac83/32.png) [@dtdtdt](https://www.ruby-forum.com/u/dtdtdt)\
**Post date:** [May 1, 2007, 6:26pm UTC](https://www.ruby-forum.com/t/where-is-global-rails-configuration/103085/3 "2007-05-01T18:26:04Z")

</div>

A plugin is probably the way to go, but there’s nothing wrong from the  
point of view of licensing with fiddling with the core code - Rails is  
distributed under the MIT license which allows you to do pretty much  
anything

Fred
