カスタムレーキタスクを実行しています...
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 アプリをセットアップしましたが、スクリプトはどの環境でも問題なく動作します。問題のインストールは実際の本番環境であるため、別のデプロイをセットアップして徹底的にチェックする必要があります。詳細はわかり次第。