私はちょうどRailsコンソールのハングアップを取得していて、クラス内のメソッドを迅速にテストするのに便利です。私はそれらの更新をつかむために「リロード」の理由必ずしもRailsコンソールで動作するとは限りません。
> reload!
、その後、私は私のモデルに変更を加えることができることを知っているが、時々私は私の最新のコードをリロードするようには思えないことがわかります。 Railsはコードをどこかにキャッシュしますか?
:私は、このメソッドを実行すると、私のようなエラーを取得する可能性があります、100: u = User.alll
とRailsコンソールで:
本当に簡単擬似例では、私はライン100上の不正なコードを持っていることその後、
NoMethodError: undefined method `alll' for User:Class ... on line 100
その後、リロードエラーに
100: u = User.all
を固定し、自分のコードを変更します。
> reload!
してから、正しいコードを持って、このクラスのメソッドを呼び出すときに、それはまだ
NoMethodError: undefined method `alll' for User:Class ... on line 100
を言うだろう、明らかに、エラーが固定され、問題のあるラインがさえませんもはやライン100上にない。 "リロード"を強制的に/ハードリセットする方法はありますか?コマンド?
はい、これはまさに問題でした。作成したインスタンスは「リロード」しません。リロードして再インスタンス化すると、毎回大変な作業ができます。ありがとう@flambino – jbnunn