我有一个问题,涉及到
IT技术。rails console test
导致
Loading development environment (Rails 3.1.0)
我猜测这是一个
RAILS_ENV
问题,因为执行以下操作:RAILS_ENV=test rails console
导致
Loading test environment (Rails 3.1.0)
有什么建议吗?谢谢。
我有一个问题,涉及到
IT技术。rails console test
Loading development environment (Rails 3.1.0)
RAILS_ENV
问题,因为执行以下操作:RAILS_ENV=test rails console
Loading test environment (Rails 3.1.0)
是的,您必须指定RAILS_ENV
或使用rails console [environment]
。
环境变量RAILS_ENV已经设置了吗(在您的命令行环境中)?
理想情况下,rails console test
应该将RAILS_ENV设置为“test”,并忽略命令行环境中的值。
但是,如果它被设置为除“test”之外的其他值(非空),那么显然,在rails console test
和RAILS_ENV=test rails console
之间可能会看到行为上的差异。
编辑:如果我的shell环境中RAILS_ENV设置为开发环境,并且我执行rails console test
,那么我会得到测试环境,就像Adam Eberlin和Brian也报告的那样。
对于您观察到的行为差异,我仍然不清楚您的设置有何不同或者是什么导致了这种差异。
因此,您不应接受这个(我的)答案!
--sandbox
选项,允许您在不更改该环境的数据情况下运行 Rails 控制台。我认为您可以通过传递测试到 dbconsole (rails dbconsole test
) 来进入测试数据库。 - Brianrails c test
命令,发现输出为:Loading test environment (Rails 3.1.0)
。 - Brianrails console [environment]
命令在测试环境下启动 Rails 控制台。这正是 OP 所做的!但是他失败了。因此,这个答案不应该被接受。 - MarkDBlackwell