Как определить, что мои рельсы находятся в среде разработки, а не в тестовой среде?

У меня есть код, который нужно запускать только в том случае, если приложение 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

но нет любви.

Что я должен делать вместо этого?

Петр.

Ответ 1

Похоже, вы правильно его называете. Возможно, проблема в том, что среда где-то называется по-разному. Попробуйте в консоли:

[1] pry(main)> Rails.env
=> "development"
[2] pry(main)> Rails.env.development?
=> true
[3] pry(main)> Rails.env.test?
=> false

... чтобы убедиться, что среда - это то, что вы думаете.