【发布时间】:2012-04-30 15:03:45
【问题描述】:
我想用 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 已经存在于 Rails 2 中。
- 我可以很高兴地在我的代码中使用 Rails.root。
-
但我不知道如何在启动时设置 Rails.root。我目前出现 设置在 boot.rb 的顶部,行:
RAILS_ROOT = "#{File.dirname(FILE)}/.." 除非定义?(RAILS_ROOT)
-
我不能只更改该行以使用 Rails.root,因为我会得到 错误:
../config/boot.rb:3: 未初始化的常量 Rails (NameError)
谢谢 乔治
【问题讨论】:
-
你解决了这个问题吗?
-
我想在升级到 Rails 3 之前,我只是在其中保留了带有 RAILS_ROOT 的代码。没有一个答案真正表明我该如何摆脱它。我可以在其他任何地方用 Rails.root 替换 RAILS_ROOT,但不能在 Boot.rb 中的那一行。
-
有趣的是,我在 rails 3.2.14 中遇到了同样的问题。没找到解决办法
-
Rails 3.2 中的 boot.rb 更改。您应该使用不需要设置 RAILS_ROOT 的新 boot.rb。
标签: ruby-on-rails