Environment.rb usage? use of "Rails::Initializer.run" sectio


#1

Hi,

Can anyone explain the intended usage within “environment.rb” of the
areas
(a) within the "Rails::Initializer.run do |config| " block section and
(b)
the area after this block.

For example when/what do I include in the "Rails::Initializer.run do
|config| " section versus not? As an example say setting up constants.

Tks


#2

Greg H. wrote:

Have a look at
http://glu.ttono.us/articles/2006/05/22/configuring-rails-environments-the-cheat-sheet
and
http://glu.ttono.us/articles/2006/05/22/guide-environments-in-rails-1-1
Hope this helps
Chris

Autopendium :: Stuff about old cars
http://autopendium.com


#3

thanks Chris,

It still didn’t fully clarify things for me however. I see they state:
“With the exceptions of the RAILS_GEM_VERSION constant and the setting
for
what environment to use, the bulk of the configuration in Rails happens
within the Rails::Initializer.run block.”

However I note that in my application I am currently (writely or
wrongly)
been setting various parameters outside the "Rails::Initializer.run do
|config| " block…, e.g.

  • LOCALES = {‘en’ => ‘en’, ‘fr’ => ‘fr’}.freeze
  • ActionMailer::Base.smtp_settings = { etc
  • ExceptionNotifier.email_prefix = “xxx” etc
  • TimeZone.all.each_with_index { |tz, i| $TIME_ZONE_ARRAY << [tz,
    i.to_s] }
  • class Logger
    def format_message(severity, timestamp, progname, msg) etc

So it’s still not quite clear to me whether I’m currently following
rails
best practice or not? Any advice anyone?

Tks
Greg


#4

I set up all my constants, including ActionMailer settings, after the
Rails::Initializer.run block, and I believe this is the correct way to
do it. Apart from anything else, I don’t think they don’t require access
to the config object which is passed to the block.

Cheers
Chris

Greg H. wrote:

> Hi,
> Tks
--
----------------------------
Autopendium :: Stuff about old cars
http://autopendium.com

Autopendium :: Stuff about old cars
http://autopendium.com