我希望将已弃用的RAILS_ROOT替换为Rails.root,作为使应用程序准备好升级到Rails 3的过程的一部分。 该应用程序当前运行的版本为2.3.14,最初是在1.2
中创建的在我的boot.rb文件的开头是行:
RAILS_ROOT =“#{File.dirname( FILE )} / ..”除非定义了?(RAILS_ROOT)
我不能在这里替换Rails.root,因为Rails未定义。
设置Rails.root的推荐方法是什么?
我认为我的问题不够明确。
但我不知道如何在启动时设置Rails.root。我现在出现了 使用以下行设置在boot.rb的顶部:
RAILS_ROOT =“#{File.dirname( FILE )} / ..”除非定义了?(RAILS_ROOT)
我只能更改该行以使用Rails.root,因为我会得到 错误:
../ config / boot.rb:3:未初始化的常量Rails(NameError)
由于 乔治
答案 0 :(得分:11)
你可以这样使用
Rails.root.join('lib/ca-bundle.crt')
试试吧
答案 1 :(得分:2)
看起来Rails.root
实际上存在于Rails 2.3中:http://apidock.com/rails/v2.3.2/Rails/root/class
在2.3中,它只返回RAILS_ROOT
,所以除非我弄错了,否则你可以在代码中使用Rails.root
而无需其他修改。升级后,boot.rb
将被替换,Rails
模块也将被替换,因此您的代码应继续正常运行。
此外,如果你还没有使用它,我和我的同事发现这个插件非常有助于从2.3升级到3.0一段时间后回复:https://github.com/rails/rails_upgrade