2017-08-29 18 views
-3

私のAPIをテストするためにサーバーを使用しています。私は、サーバーを起動するには、このコマンドを使用します。Ruby on rails:コードリロードの起動サーバー

rails s -p 3001 -e test -P 42342 

私は(ポート3000上の)私のdevのサーバーとの競合を持っていないために、3001にポートを変更します。 問題は、私がコードを変更すると、サーバーはコードをリロードせず、サーバーを強制終了して再起動する必要があるということです。

railsコマンドの起動に間に合わないパラメータはありますか?

+2

なぜあなたは 'test'環境を実行していますか?私はこれが原因だと思います。 '-e test'フラグを削除して開発モードで実行すると、コードは自動ロードされます。 – whites11

答えて

2

testは、自動テスト用に設計されており、1回のテスト実行でRailsが実行されます。コードはテストケース中に変更されるべきではないので、開発モードの機能の多くを持っていないし、その点で生産に似ています。また、テストを実行するときにデータベースをリセットすることも意図していますが、これもあなたの意図とは思われません。

(ほとんどの)クラスを自動リロードするには、常にdevelopment環境を使用します。何らかの理由であなたが別の環境(ちょうどポート以上が、別のconfigs)、あなたはdevelopmentのためのコンフィグをコピーし、新しい環境を作成する時に見ることができますが必要な場合は

は(config/environments/config/database.ymlconfig/secrets.ymlに新しいエントリを追加し、 Gemfileのグループとして使用してください)。

関連する問題