我想用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)
谢谢乔治
Kas*_*ail 11
你可以像这样使用
Rails.root.join('lib/ca-bundle.crt')
Run Code Online (Sandbox Code Playgroud)
试试吧
它看起来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
| 归档时间: |
|
| 查看次数: |
14886 次 |
| 最近记录: |