Ruby on rails 3 rails控制台测试加载开发环境

Ruby on rails 3 rails控制台测试加载开发环境,ruby-on-rails-3,Ruby On Rails 3,我有个问题在哪里 rails console test 导致 Loading development environment (Rails 3.1.0) Loading test environment (Rails 3.1.0) 我怀疑这是一个RAILS\u ENV问题,因为 RAILS_ENV=test rails console 导致 Loading development environment (Rails 3.1.0) Loading test environment (R

我有个问题在哪里

rails console test
导致

Loading development environment (Rails 3.1.0)
Loading test environment (Rails 3.1.0)
我怀疑这是一个
RAILS\u ENV
问题,因为

RAILS_ENV=test rails console
导致

Loading development environment (Rails 3.1.0)
Loading test environment (Rails 3.1.0)

有什么建议吗?谢谢。

是的,您必须指定
RAILS\u ENV
或使用
RAILS console[environment]
是否已设置环境变量RAILS\u ENV(在您的命令行环境中)

理想情况下,
rails控制台测试应将rails_ENV设置为“test”,并忽略其在命令行环境中的值

但是,如果将其设置为“test”之外的某个值(非空),那么显然,人们可能会看到
rails控制台测试
rails_ENV=test rails控制台
之间的行为差异

编辑:如果RAILS_ENV在我的shell环境中设置为development,并且我做了
RAILS控制台测试
,那么我就得到了测试环境,就像Adam Eberlin和Brian也报告的那样

(对我来说)你的设置可能会有什么不同,或者是什么导致了你观察到的行为差异,这仍然是个谜


因此,你不应该接受这个(我的)答案

那么,rails控制台测试的目的是什么呢?我认为它不存在。但是,有一个
--sandbox
选项,允许您运行rails控制台,而不更改该环境的数据。我认为您可以通过对dbconsole(
rails dbconsole test
)的测试进入测试数据库。。。我刚刚在一个项目上运行了
railsctest
,发现:
loadingtestenvironment(rails3.1.0)
,但我仍然不明白为什么
railsconsoletest
对我不起作用=/但是这个答案说人们可以做
railsconsole[environment]
在测试环境中启动rails控制台。这正是OP所做的-但对他来说失败了。所以这个答案不应该被接受。