lib目录中的Rails.root

时间:2011-10-06 14:19:48

标签: ruby-on-rails ruby-on-rails-3

我如何访问变量 RAILS_ROOT 要么 Rails.root 在/ lib目录中。出于某种原因,我得到变量未找到错误。

编辑:我尝试添加

require File.dirname(__FILE__) + '/../config/environment.rb'

到我的文件顶部RAILS_ROOT require?,但它仍然给了我undefined method root

任何想法,谢谢!

1 个答案:

答案 0 :(得分:2)

不推荐使用RAILS_ROOT,请尝试使用Rails.root。

ruby-1.9.2-p180 :004 > File.expand_path(File.dirname(__FILE__) + '/config/environment.rb')
 => "/home/lpeabody/Documents/ccom_work/dataserver31/config/environment.rb" 
ruby-1.9.2-p180 :005 > require File.expand_path(File.dirname(__FILE__) + '/config/environment.rb')
 => true 
ruby-1.9.2-p180 :006 > Rails.root
 => #<Pathname:/home/lpeabody/Documents/ccom_work/dataserver31> 
ruby-1.9.2-p180 :007 > RAILS_ROOT
NameError: uninitialized constant RAILS_ROOT
    from (irb):7
    from /usr/local/rvm/rubies/ruby-1.9.2-p180/bin/irb:16:in `<main>'