2012-01-11 7 views
2

私はRails 3を使用しており、開発中にSSLサポート付きWEBrickを実行する必要があります。これを達成するために、私は、このガイドに従ってきました:これはうまく機能rails開発環境でのみ実行するスクリプト/レールにルビコードを追加する

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

、しかし、私は本番モードで実行した場合、これらの設定は何も私のRailsアプリケーションに影響を与えないことを保証しないようにしたいです。私たちは現在Apache/Passengerを使用していますが、プロジェクトは正常に動作しているようです。しかし、このコードが実行されていないことを確認するためのきれいな方法はありますか?私は可能な答えは、コードの周りのif/endブロック、またはおそらく開発専用のコードを別のファイルまたは同様のものに置くことができる組み込みのレール機能であると考えています。

+0

'Rails'オブジェクトはその実行時点では利用できません。 –

+0

ああ、プレレールだとは思わなかった。 –

答えて

1

ENV ['RAILS_ENV']はあなたの友人のようです。 ENVハッシュには、アプリケーションが実行されているUnix環境が表示され、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 

はそれがお役に立てば幸いです。

+0

この答えは古いバージョンのレールでは正しいと思われますが、レール3ではなく、 'RAILS_ENV'はこれ以上使用されません(レールは' rails server [environment] 'で現在起動されています)。私はこれまでに働いていた 'if ARGV [1] .nil?'を使ってきましたが、常にアクティブな環境に設定されている特異変数を取得できる方が好きです。おそらく、これはロードプロセスの早い段階では利用できません。 –

+0

ここで使用しているコードはENV変数を使用しているため、正しく動作するようになっています。正直なところ、Webrickはほとんど解決策ではありません。 – aemadrid

関連する問題