82

我有一些代码只需要在 rails 应用程序在开发环境中(即 $ rails 服务器)而不是在测试环境中(即 $ rake 测试)时运行。

当我尝试

if Rails.env.development?
    dont run me during testing
end

无论我在哪个环境中,代码都会执行。我什至尝试过:

if Rails.env.development? and not Rails.env.test?
    NO, REALLY, DONT RUN ME DURING TESTING
end

但没有爱。

我应该怎么做?

4

1 回答 1

151

看起来你调用它是正确的。也许问题在于环境在某处的名称不同。在控制台中尝试:

> Rails.env
=> "development"
> Rails.env.development?
=> true
> Rails.env.test?
=> false

...确认环境是您认为的那样。

于 2013-03-18T18:29:18.220 回答