82

Rails アプリが開発環境 (つまり、$ rails サーバー) にあり、テスト環境 (つまり、$ rake test) にない場合にのみ実行する必要があるコードがいくつかあります。

やってみると

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 に答える