私はコンソールで遊んでいます、私はいくつかのモデルコードを変更し、今私はそれをテストしたい。私は通常、コンソールを再起動します。より速い方法がありますか?多分、モデルコードをリロードするコンソールコマンドですか?もちろん変更されたコードを再ロードするためのRails Consoleコマンド(Rails 3以降)はありますか?
答えて
、単純に入力します。
reload!
これは私にとってはうまくいかないようです。モデル内のメソッドをコメントアウトしてから 'reload! 'と入力すると、メソッドはリロード後も動作します。 ?!?私はなぜ、そしてコンソールを再起動する別の方法があるのだろうか? – Meltemi
@Meltemi:これは、Rubyが動作する方法(オープンクラスの概念)です。すべての定義を再読み込みし、既存のメソッドをオーバーライドしますが、古いメソッドをフラッシュしません。 – apneadiving
5セントを追加するだけです: 'Pry'を使用している場合、' self.send(:include、Rails :: ConsoleMethods)を追加する必要があります。 ) ' –
をあなたはこのコマンドは、ロードされたロードされた定数をクリアし、それらはコンソールで参照しているとして、それらをロードしますreload!
を呼び出す必要があります。
reload!
の前に古いオブジェクトがある場合は、これらの個々のオブジェクトでreload
に電話するか、新しいオブジェクトを見つけて、新しい方法を試してみる必要があります。
私は少しのヘルパーコードを書いて、同じ問題(リロード!私の必要なように動作しませんでした)を持っていました - 私は[link](http://codepad.org/)を使ってテストしました。いいです。 – rtfminc