![](/img/trans.png)
[英]Uninitialized constant RAILS_ROOT: Surveyor gem and using Rails.root
[英]Replacing RAILS_ROOT with Rails.root
我想用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)
謝謝喬治
你可以像這樣使用
Rails.root.join('lib/ca-bundle.crt')
試試吧
看起來Rails.root
實際上存在於Rails 2.3中: http : Rails.root
在2.3中,它只返回RAILS_ROOT
,所以除非我弄錯了,你可以在代碼中使用Rails.root
而無需其他修改。 當您進行升級時,您的boot.rb
將被替換, Rails
模塊也將被替換,因此您的代碼應該繼續正常運行。
此外,如果你還沒有使用它,我和我的同事發現這個插件非常有用,當時從2.3升級到3.0: https : //github.com/rails/rails_upgrade
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.