There are different ways to load particular file in rails application environment if the required file exists.
1. Using RAILS_ROOT
if File.exists?(file=File.join(RAILS_ROOT,’config’, ‘initializers’, ‘smtp_gmail.rb’))
require file
end
2. Using Rails.root & join
require Rails.root.join(‘config’, ‘initializers’, ‘smtp_gmail.rb’)
3. Using Rails.root, join & exists? method.
if File.exists?(file = Rails.root.join(‘config’, ‘initializers’,’smtp_gmail.rb’))
require file
end
4. Using File and direct path to file
require File.join(‘root’,’app’,’config’, ‘initializers’, ‘smtp_gmail.rb’)
Among all above methods of loading file, Using Rails.root, join & exists? method seems to be pretty good to have.
Any improvements are most welcome!
* no need to require files from initializers
* example 3 will not work (undefined method file)
* example4: do you have “root/app/config/initializers/…” type of path in Rails
USELESS POST
1. Obvious i know that.
2. Thx!…I made changes to example 3 to work.
3. example 4. Its local file path..Dnt u knw its not a rails PATH