Rails/Spring サポート
Spring は、アプリケーションをバックグラウンドで実行し続けることで開発を高速化する Rails アプリケーションプリローダーです。 変更を加えてもサーバーを再起動する必要がなくなります。
RubyMine では、Spring を使用して Rails ジェネレーター、 テスト、 Rake タスクを実行できます。 spring gem が Gemfile に追加され、プロジェクトのインタープリターに インストールされていることを確認してください。
Test::Unit/Shoulda/Minitest テストは、デフォルトでは Spring を使用せずに実行されることに注意してください。 テストを実行するための Spring 有効化について詳しくは、 テスト実行に Spring を使用するをご参照ください。
テストの実行に Spring を使用する
RubyMine では、指定した 実行/デバッグ構成でテストを Spring プリローダーを使って実行するかどうか指定できます。 以下の例では、 sample_rails_app(英語) プロジェクトの テスト ディレクトリからすべての Minitest テストを実行する方法を示します。 これを行うには、次のワークフローを使用できます。
プロジェクトビューで テスト ディレクトリを右クリックし、 「test: ...」内のすべてのテストを実行… を選択します。 テストを実行した後、対応する実行 / デバッグ構成(テスト中のすべてのテスト: sample_rails_app )が作成されます。

ナビゲーションバーで、実行 / デバッグ構成のリストを展開し、 実行構成の編集 を選択します。

呼び出されたダイアログで、左側のリストで テスト中のすべてのテスト: sample_rails_app 設定が選択されていることを確認します。 次に、 事前ロードサーバーを使用する オプションを Spring に設定します。

OKです。 をクリックしてください。 Spring プリローダは、この実行 / デバッグ構成からテストを実行するために使用されます。
デバッグに Spring を使う
RubyMine では、Spring を使って Rails アプリケーションを デバッグできます。 これには、システムまたはプロジェクトの Spring 構成ファイルを更新して、Spring によって フォーク(英語)されたすべてのプロセスにデバッガーをロードする必要がある場合があります。 デバッグを開始すると、RubyMine が次の選択肢を含むダイアログを表示する場合があります:
システム設定 (~/.spring.rb)
クリックしてシステムの Spring 設定( ~/.spring.rb ファイル)を更新し、デバッグを開始します。
プロジェクト構成 (config/spring.rb)
プロジェクト Spring config( config/spring.rb ファイル)を更新してデバッグを開始するときにクリックします。
変更しない、Spring を無効にする
アプリケーションをデバッグするために Spring を無効にする場合にクリックします。
Spring を無効にする
必要に応じて、現在のプロジェクトで Spring を無効化できます。 それを行うには:
メインメニューで、 Ctrl+Shift+A に移動します。
Spring の入力を開始し、 Spring プリローダー オプションを無効にします。
Spring サーバーコマンド
RubyMine で Rails ジェネレーター、テスト、または Rake タスクを起動すると、カスタム SPRING_TMP_PATH 環境変数付きの Spring サーバーの別インスタンスが起動されます。 この変数の値は ${TMPDIR}rm<hash><name> となります。 つまり、Spring サーバーのコマンドの前に SPRING_TMP_PATH=${TMPDIR}rm<hash><name> を付ける必要があります:
<hash>は、16 進法で表されたプロジェクトの場所のハッシュコードです。<name>はプロジェクト名で、おそらく切り捨てられています。
必要なハッシュコードと名前を検出するには、ターミナルで次のコマンドを使用します。
rm 接頭辞で始まり、変更時刻で (降順で) ソートされたディレクトリのリストが表示されます。
コマンド出力で、プロジェクトルートのフォルダーの最初の文字を含むエントリを見つけます。 例: sample_rails_app という名前のプロジェクトの場合、対応するエントリは rm1c3c5678samp のようになります。 この例のハッシュコードは 1c3c5678 で、名前は samp です。
例: macOS で Spring に問題が発生し、それを停止する必要がある場合は、次のコマンドを実行します。