将ruby代码添加到仅在rails开发环境中执行的脚本/轨道

时间:2012-01-11 19:29:21

标签: ruby ruby-on-rails-3 passenger webrick

我正在使用Rails 3,并且需要在开发期间运行带有SSL支持的WEBrick。为实现这一目标,我遵循了本指南:

http://www.nearinfinity.com/blogs/chris_rohr/configuring_webrick_to_use_ssl.html

这很有效,但是,我想确保在生产模式下运行时这些设置不会影响我的rails应用程序。我们目前正在使用Apache / Passenger,该项目似乎仍然正常运行。但是,是否有一种干净的方法来确保此代码甚至不执行?我认为可能的答案可能是围绕代码的if / end块,或者可能是内置的rails工具,它允许将仅开发代码放在单独的文件或类似的东西中。

1 个答案:

答案 0 :(得分:1)

看起来ENV ['RAILS_ENV']是你的朋友。 ENV哈希向您展示应用程序正在运行的Unix环境,Rails本身将查看RAILS_ENV以决定运行哪种模式。你可以这样做:

if ENV['RAILS_ENV'].to_s == 'development' || ENV['RAILS_ENV'].to_s == ''
  # do your thing here
end

您还可以确保在该环境下运行webrick:

#> RAILS_ENV=development /path/to/webrick/script

希望它有所帮助。