我想用Rails.root替换不推荐的Rails.root,这是将应用程序升级到Rails 3的过程的一部分。
在我的boot.rb文件的开头是行:
"#{File.dirname(FILE)}/..“= RAILS_ROOT除非定义?(RAILS_ROOT)
我不能在这里代替Rails.root,因为Rails是没有定义的。
设置Rails.root的推荐方法是什么?
我想我把问题说得不够清楚。
"#{File.dirname(FILE)}/..“= RAILS_ROOT除非defined?(RAILS_ROOT)
../config/boot.rb:3:未初始化的常数Rails (NameError)
谢谢乔治
发布于 2012-04-19 12:44:02
你可以这样用
Rails.root.join('lib/ca-bundle.crt')试试看
发布于 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
https://stackoverflow.com/questions/10222317
复制相似问题