2012-01-26 10 views
1

Ruby 1.9.2/Rails 3.0.9を実行しています。Ruby/Rails - delayed_job製造中のRails.envは "開発中"です

私はcollective idea fork of delayed_job

を使用しています私はそうのようなdelayed_jobを始めています: RAILS_ENV=production script/delayed_job start

それは私の本番データベースからジョブを引っ張ります。

しかし、それらを処理するとき、Rails.envは「開発」として評価しています。 私は(paperclipを使って)いくつかの画像をアップロードしています。彼らは私のCDNホストの "development"ディレクトリに行きます。

さらなる証拠:私は実行をdelayed_jobコードでifステートメントを使用している場合

、Rails.envは、「開発」と評価されます。ある

x = 1 
if Rails.env == "production" 
    x = 2 
end 

xはまだ等しい1

x = 1 
if Rails.env == "development" 
    x = 2 
end 

xは今なぜRails.envが== "開発" ん2.

に等しいですか? どうすれば修正できますか?

ありがとうございました。

+0

あなたのスクリプト/ delayed_jobファイルには何がありますか? – James

+0

私はそれに触れたことがありません: '必要File.expand_path(File.join(File.dirname(__ FILE__)、 '..'、 '設定'、 '環境'))' ' 必要 '遅れ/' コマンド' ' Delayed :: Command.new(ARGV).daemonize' – johnnycakes

答えて

1

「開発」は、Paperclip設定のどこかにハードコードされている必要があります。私は完全なソースコードの検索を行い、そうであるかどうかを確認します。

+0

私はそうは思わない。 paperclipのパスは:rails_env変数で設定します。元の投稿を別の例/より多くの証拠で編集します。 – johnnycakes

+0

遅延ジョブはコードに "開発"を注入するだけではありません。明らかにあなたのコードベースのどこかにコード化されています。少しの間違いは大きな頭痛を引き起こす可能性があります。完全なソースコード検索を行い、これが当てはまるかどうかを確認してください。 –

+2

LoL、Ugh、私は方法でこの美しい小さなコード行を持っていました: 'function_call if Rails.env =" development "' 私は今や気分が悪くて怒ります。 ご協力いただきありがとうございます。 – johnnycakes

関連する問題