首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用RAILS_ROOT取代Rails.root

用RAILS_ROOT取代Rails.root
EN

Stack Overflow用户
提问于 2012-04-19 05:47:35
回答 2查看 16.2K关注 0票数 11

我想用Rails.root替换不推荐的Rails.root,这是将应用程序升级到Rails 3的过程的一部分。

在我的boot.rb文件的开头是行:

"#{File.dirname(FILE)}/..“= RAILS_ROOT除非定义?(RAILS_ROOT)

我不能在这里代替Rails.root,因为Rails是没有定义的。

设置Rails.root的推荐方法是什么?

我想我把问题说得不够清楚。

  • 我知道在Rails 2中Rails.root已经存在了。
  • 我可以很高兴地在代码中使用Rails.root。
  • ,但是我不知道如何在启动时设置Rails.root。目前,我似乎在boot.rb的顶部设置了一行:

"#{File.dirname(FILE)}/..“= RAILS_ROOT除非defined?(RAILS_ROOT)

  • I不能将该行更改为使用Rails.root,因为我会得到错误:

../config/boot.rb:3:未初始化的常数Rails (NameError)

谢谢乔治

EN

回答 2

Stack Overflow用户

发布于 2012-04-19 12:44:02

你可以这样用

代码语言:javascript
复制
 Rails.root.join('lib/ca-bundle.crt')

试试看

票数 12
EN

Stack Overflow用户

发布于 2012-04-19 12:39:31

看起来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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10222317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档