Rails.env和Config.root应该在'rails console'模型中工作吗?

Bla*_*man 16 ruby-on-rails

这两个对象在'rails console'中似乎都是零.

这是为什么?

实际上现在Rails工作:

puts Rails.env
/path/to/my/project
Run Code Online (Sandbox Code Playgroud)

但对于配置:

puts config.root

NameError: undefined local variable or method `config' for #<Object:0x1001dd2a0>
    from (irb):8
Run Code Online (Sandbox Code Playgroud)

mol*_*olf 42

没有全球config方法.如果您要从Rails 2中的环境文件中复制它,请注意这些文件实际上是在特定上下文中进行评估的.

要从config控制台访问该对象,请尝试以下操作之一:

对于Rails 3及以上版本:

Rails.application.config
Run Code Online (Sandbox Code Playgroud)

对于Rails 2.x:

Rails.configuration
Run Code Online (Sandbox Code Playgroud)

如果您需要获取项目的根目录(不确定这实际上是否正在尝试完成),您可以在Rails 2及更高版本中执行以下操作:

Rails.root
Run Code Online (Sandbox Code Playgroud)