3

カスタムレーキタスクを実行しています...

namespace :import do

  desc "Import terms of service as HTML from stdin"
  task :terms => :environment do
    html = STDIN.read
    settings = ApplicationWideSetting.first
    settings.terms_and_conditions = html
    if settings.save
      puts "Updated terms of service"
    else
      puts "There was an error updating terms of service"
    end
  end

end

環境でタスクを実行すると、モデル ApplicationWideSetting が未定義として報告され productionます。ただし、他の環境 (つまり、、、development)でタスクを実行するとstaging、タスクは正常に実行されtestます。

すべての環境で、Rails コンソールでプロセスを実行すると、正常に完了します。

何が起こっているのか、私が確認できることを知っている人はいますか?

:タスクを実行しました

puts Rails.env 

シェル環境を確認するには、var RAILS_ENV が正しく設定/読み取られていました。:environment 依存関係宣言を囲む角括弧の有無も試しました。

追加情報: Rails v3.2.14

詳細情報: 完全に新しい Rails アプリをセットアップしましたが、スクリプトはどの環境でも問題なく動作します。問題のインストールは実際の本番環境であるため、別のデプロイをセットアップして徹底的にチェックする必要があります。詳細はわかり次第。

4

1 に答える 1