2010-11-22 38 views
16

這兩個對象似乎都是'軌道控制檯'內的零。Rails.env和Config.root應該在'rails console'模式下工作嗎?

這是爲什麼?

其實現在Rails的作品:

puts Rails.env 
/path/to/my/project 

但配置:

puts config.root 

NameError: undefined local variable or method `config' for #<Object:0x1001dd2a0> 
    from (irb):8 
+0

這不適用於我。我希望獲得更多信息來幫助您進行調試,但我不確定需要詢問哪些信息。你確定你在Rails 3應用程序? – Matchu 2010-11-22 04:03:31

+0

Rails.env和Rails.root適用於Rails 3.0.1和2.3.10的控制檯。正如Matchu所說,更多的調試信息是有價值的。 – 2010-11-22 07:29:36

回答

41

沒有全球config方法。如果您是從Rails 2中的環境文件複製這些文件,請注意這些文件實際上是在特定上下文中進行評估的。

要獲得從您的控制檯config對象,請嘗試以下之一:

對於Rails開發3及以上:

Rails.application.config 

對於Rails的2.X:

Rails.configuration 

如果你需要得到你的項目的根目錄(不確定這是否是你想要完成的),你可以在Rails 2及以上版本中執行以下操作:

Rails.root 
+0

謝謝! – jpwynn 2012-08-25 17:48:28

+1

'Rails.application.config'也適用於Rails 4.x – Kris 2013-08-12 13:10:55

相關問題