Rails アプリケーションをあるサーバーから別のサーバーに移行しようとしています。アプリケーションは現在のサーバーで正常に動作しています。宛先サーバーをセットアップし、Ruby、Rails、Postgres をインストールしました。次に、ソース サーバーのコードを tar で圧縮し、宛先サーバーで展開しました。bundle install と rake db:setup を実行しました。
Rails コンソールを実行して、シード ファイルに含まれていたオブジェクトを確認し、それらを操作できます。Rails サーバーを実行して、アプリケーションに接続できます。しかし、アプリケーションに対して認証を行うと、再度認証を求めるページにリダイレクトされます。
正しいパスワードを入力していると確信しています。意図的に間違ったパスワードを入力すると、以前と同じログイン ページに戻ります。正しい資格情報でログインすると、別のページにリダイレクトされ、認証が必要であることが示されます。問題のトラブルシューティングでは、実稼働環境でログ レベルを上げました。正しい資格情報でログインすると、データベース クエリが表示され、User オブジェクトが更新されて、別の成功したログインと、最後に成功したログイン日が現在の時刻として反映されます。
AREL (0.3ms) UPDATE "users" SET "sign_in_count" = 3, "updated_at" = '2013-01-03
00:45:19.787483', "current_sign_in_at" = '2013-01-03 00:45:19.786763', "last_sign_in_at"
= '2013-01-02 22:56:39.395815' WHERE "users"."id" = 1
SQL (0.4ms) COMMIT
また、リダイレクト先のページのコードを変更して、user_signed_in? false を返します。私はそれを毎回見ます。つまり、正しいユーザー名とパスワードが入力されていることを意味しますが、何らかの理由でセッションが作成されません。
しかし、私が言ったように、このコードは他のサーバーで正常に動作しています。見落としているかもしれないセットアップ手順はありますか?
さらに調査した結果、この問題は本番モードでのみ発生するようであることが明らかになりました。開発中のアプリの実行は期待どおりに機能します。